我有一个 QuerySet,我想按数字对它们进行排序。问题是数据存储为字符串。我知道如何在 SQL 或列表中执行此操作,但不知道如何在查询集中执行此操作。这可能吗?
最佳答案
您可能需要回退到 Django 的 extra功能。也许:
ordered = (qs.extra(select={"order_column": "CONVERT(column, INTEGER)"})
.order_by("order_column"))
(假设您使用的是 MySQL)
关于python - 如何以数字方式订购 Django QuerySet 字符串属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6645781/