q = q.extra(select={
'date_is_null': 'dateWOrequired IS NULL',
},
order_by=['date_is_null','dateWOrequired'],
)
你可能需要在order_by部分的date_is_null之前加一个-,但这是控制行为的方式。
Django 1.11将其添加为本机功能。这有点令人费解。它已记录在案。
仅按一个字段排序,升序:
wo = Work_Order.objects.order_by(F('dateWOrequired').asc(nulls_last=True))
使用两个字段排序,都降序排列:
wo = Work_Order.objects.order_by(F('dateWOrequired').desc(nulls_last=True), F('anotherfield').desc(nulls_last=True))