2010-05-27 3 views

답변

3
Model.objects.extra(select={'nodate':'ISNULL(date)'}, order_by=['nodate', '-date']) 
+0

포스트그레스에서 작동하지 않습니다 – diegueus9

+0

그래서 '날짜가 NULL'대신 사용하십시오. –

0

그래서 날짜가없는 모든 개체와 날짜가없는 모든 개체를 찾고 있습니까?

않을까요 더 나은 작품 :

Model.objects.order_by('-date) 

어쨌든, 여기 시작하기에 좋은 장소 ... 장고 필터 체인에 대해 읽어이야 : http://docs.djangoproject.com/en/dev/topics/db/queries/#id1.

부수적 인 점은 자체 쿼리가 취소되지 않았습니까?

>>> d = MyModel.objects.filter(date=None).exclude(date=None).order_by('-date') 
>>> d 
[] 
>>> d.query.get_compiler('default').as_sql() 
('SELECT "date" FROM "table" WHERE ("table"."date" IS NULL AND NOT ("table"."date" IS NULL)) ORDER BY "table"."date" DESC',())

나는 아마 당신이 요구하는지 이해 아니에요 ...

+0

쿼리는 그것이 내가 '그룹과 함께 할 수있는 뭔가가하지 않는 한 ... 서로 상쇄하는 것 않는다 그냥 보지 않아. @diegueus는 목록 끝에 날짜가없는 개체가 필요할 수 있으며 .order_by ('- date')는 시작 부분에 그 개체를 넣을 수 있습니까? –

+0

크리스 당신 말이 맞아요 – diegueus9