如何按数字顺序排序Django QuerySet字符串属性?
我有一组查询结果(QuerySet),我想按照数字的顺序来排列它们。问题是这些数据是以字符串的形式存储的。我知道怎么在SQL或者列表中做到这一点,但在查询集中我不知道该怎么做。这种情况真的能解决吗?
1 个回答
4
你可能需要使用Django的extra功能来解决这个问题。也许可以这样做:
ordered = (qs.extra(select={"order_column": "CONVERT(column, INTEGER)"})
.order_by("order_column"))
(假设你在使用MySQL数据库)