我有一个datetime字段,可以是null和id喜欢做qs.order_by('field__isnull','name'),但这会导致:

Join on field 'field' not permitted. Did you misspell 'isnull' for the lookup type?

这可能是可能的吗?

有帮助吗?

解决方案

可能有更好的方法,但是一种可能性是注释您的查询集:

from django.db.models import Count
qs.annotate(null_count=Count('field_name')).order_by('null_count')
.

其他提示

我希望你的模型是这样的:

    date_deleted = models.DateTimeField(blank=True, null=True)
.

如果是真的 然后你可以这样做:

qs.order_by('-date_deleted')
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top