2013-07-10 16 views
12

Devo selezionare tutti gli oggetti modello con campo data maggiore della data odierna O campo data vuoto.Ottieni oggetti con data maggiore di quella odierna o data vuota

Ho seguente codice:

@login_required 
def event_new(request, person_uuid=None): 
    today = datetime.datetime.today() 
    #valid_until may be empty 
    profile = Profile.objects.filter(company=request.user.company, valid_until__gte=today) 

ho bisogno di selezionare tutti gli oggetti del profilo con il campo valid_until vuoto o (se impostato) maggiore di oggi. Come posso raggiungere questo obiettivo?

risposta

13

Utilizzare Q.

from django.db.models import Q 

@login_required 
def event_new(request, person_uuid=None): 
    today = datetime.datetime.today() 
    #valid_until may be empty 
    profile = Profile.objects.filter(company=request.user.company).filter(Q(valid_until__gte=today)|Q(valid_until=None)) 
Problemi correlati