如何按数字顺序排序Django QuerySet的字符串属性?

3

我有一个QuerySet,想要按数字顺序排列它们。问题在于数据存储为字符串。我知道如何在SQL或列表中实现这一点,但不知道如何在查询集中实现。这是否可能?

1个回答

4

您可能需要回退到Django的extra函数。也许可以这样:

ordered = (qs.extra(select={"order_column": "CONVERT(column, INTEGER)"})
           .order_by("order_column"))

(假设您正在使用MySQL)

谢谢 Bradley!看起来这个应该可以,我会去检查它。 - Parker
1
这是你正在创建的那个,之后你可以按照它进行排序。 - bradley.ayers

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接