2012-03-10 114 views
5

Tengo un campo de fecha y hora que puede ser nulo e Identificación gustaría hacer qs.order_by ('field__isnull', 'nombre'), pero esto resulta en:orden django por valor de isnull?

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

Es esto posible en absoluto?

Respuesta

8

puede haber mejores maneras, pero una posibilidad es para anotar su queryset:

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

Estoy esperando que su modelo es algo como esto:

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

Si es Verdadero, entonces puede hacer esto:

qs.order_by('-date_deleted') 
+0

Esto impone una clasificación por fecha para los valores no nulos, en cambio el asker es solo queriendo 2 grupos, nulo y no nulo. – Rebs