2012-03-10 44 views
5

tôi có một trường datetime mà có thể được null và id muốn làm qs.order_by ('field__isnull', 'name') nhưng kết quả này trong:thứ tự django theo giá trị isnull?

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

Đây có phải là có thể ở tất cả?

Trả lời

8

có thể có những cách tốt hơn, nhưng có một khả năng là chú thích queryset của bạn:

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

Tôi hy vọng rằng mô hình của bạn là một cái gì đó như thế này:

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

Nếu Đúng sau đó bạn có thể làm điều này:

qs.order_by('-date_deleted') 
+0

Điều này áp đặt sắp xếp theo ngày cho các giá trị không null, thay vào đó người hỏi là chỉ muốn 2 nhóm, null và không null. – Rebs

Các vấn đề liên quan