Django:如何从函数返回Model查询表达式?

时间:2012-01-21 21:46:02

标签: django django-models

我正在尝试做这样的事情:

jobQuery = getJobQuery()
job = jobType.objects().get(jobQuery)

如何实现getJobQuery()以返回等效于:

的表达式
jobType.objects().get(in_progress=False)

1 个答案:

答案 0 :(得分:4)

Q对象是您正在寻找的100%。

def get_job_query():
    return Q(in_progress=False)
但是,或者,依赖于查询集是懒惰的事实。

def get_job_query():
    return JobType.objects.filter(in_progress=False)
job = get_job_query().get()

对于额外的样式点,您可以将其附加到自定义Manager for JobType。