【发布时间】:2011-07-11 05:59:34
【问题描述】:
我对 django 查询集排序有疑问。
我的模型包含一个名为 position 的字段(一个 PositiveSmallIntegerField),我想用它来对查询结果进行排序。
我使用order_by('position'),效果很好。
问题:我的 position 字段可以为空 (null=True, blank=True),因为我不想为我的模型的每 50000 个实例指定一个位置:(
当某些实例的“位置”为 NULL 时,order_by 会将它们返回到列表的顶部:我希望它们位于最后...
在 RAW SQL 中,我曾经写过诸如“IF(position IS NULL or position='', 1, 0)”之类的东西(参见http://www.shawnolson.net/a/730/mysql-sort-order-with-null.html):是否可以使用 Django 获得相同的结果,而无需编写原始 SQL?
非常感谢!
【问题讨论】:
标签: django sql-order-by nullable