我想过滤 Django 对象,使其 "id modulo K == N" 。
这是在 python 中执行此操作的一种方法,但我希望它在 filter() 中:
for foo in Foo.objects.all():
if foo.id % K == N:
print foo
所以,我可以在这样的查询中使用 extra() (如果我错了,请纠正我):
Foo.objects.extra(where['id %% %s = %s' % (K,N)])
但是有没有办法使用F()?
Django 支持对 F() 对象使用加法、减法、乘法、除法和模运算
注意:这是非常错误的:
Foo.objects.filter(id=F('id') % K)
我需要类似的东西:
Foo.objects.filter(id__mod(K)=N)