获取日期大于今天或空日期的对象

dea*_*ase 17 python django django-models

我需要选择日期字段大于今天日期或日期字段为空的所有模型对象.

我有以下代码:

@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)
Run Code Online (Sandbox Code Playgroud)

我需要选择所有Profile对象,其中valid_until字段为空或(如果设置)大于今天.我怎样才能做到这一点?

fal*_*tru 23

使用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))
Run Code Online (Sandbox Code Playgroud)