【发布时间】:2015-05-24 19:28:10
【问题描述】:
我在 Django 中有一个相当奇怪的问题,我看不到如何将“__contains”和“__in”组合在一个语句中。
所以,这是我的情况:我有一个这样的条目列表:
a = ["hgfjhgj89789jkbjk", "jhgjkhj89789jkhkjh", "jhgkjhkj89689gfghdfhg"]
我想对照一个查询集检查这个列表——我通常会这样做:
queryset = MyModel.objects.all().filter(my_field__in=a)
但是,在我的情况下,my_field 与 a 中的值不完全匹配,因此,我不得不求助于 __contains,如下所示:
queryset = MyModel.objects.all().filter(my_field__contains=a[0])
..但是,我的 a 现在有 2000 个条目,我无法运行上述查询 2000 次 - 听起来很傻。
那么,我怎样才能将这个“__contains”与“__in”结合起来呢? 对不起,如果这是一个愚蠢的问题!
【问题讨论】:
-
这与本案无关!
-
这个问题很遗憾地被错误命名(已修复),但它是完全相同的问题,答案完全相同。