【发布时间】:2013-05-21 13:31:41
【问题描述】:
我想知道在进行查询时何时触摸 db。更准确地说,查询何时执行:
我有这个 kwargs dic:
kwargs = {'name__startswith':'somename','color__iexact':'somecolor'}
但仅适用于name__startswith 查询,我需要distinct()。而不是color__iexact。
我想,我会像这样为name__startswith 设置distinct() in 循环:
for q in kwargs:
if q == 'name__startswith':
Thing.objects.filter(name__startswith=somename).distinct('id')
然后动态查询所有:
allthings = Thing.objects.filter(**kwargs)
但这有点不对劲,我似乎在这里做了两件不同的事情..
如何动态地执行这两个查询?
【问题讨论】:
标签: python django keyword-argument