【发布时间】:2015-03-06 23:07:03
【问题描述】:
我有以下代码,你可以看到唯一改变的是函数调用 point__distance_gte 或 point__distance_lte。有没有办法将此函数从调用代码中外部化。
def search():
if distance == 50:
jobs = list(Job.objects.filter(point__distance_gte=(ref_pnt, D(**distance_from_point))))
else:
jobs = list(Job.objects.filter(point__distance_lte=(ref_pnt, D(**distance_from_point)))
比如:
def search(predicate):
jobs = list(Job.objects.filter(predicate))
虽然,我在这里只展示了一个过滤器,但实际上我已经将过滤器和预取条件链接到查询中,如果我不得不重复代码,这会变得很丑。
【问题讨论】:
标签: django django-queryset django-1.7