Djangofilter的值列表
我敢肯定,这是一个微不足道的操作,但我无法弄清楚它是如何完成的…我怎样才能创build一个Django查询的值列表。
有一些比这更聪明的东西:
ids = [1, 3, 6, 7, 9] for id in ids: MyModel.objects.filter( pk=id )
我正在寻找让他们在一个节目中像这样的东西:
ids = [1, 3, 6, 7, 9] MyModel.objects.filter( pk=ids )
从Django文档 :
Blog.objects.filter(pk__in=[1, 4, 7])
当你有项目列表,你想检查列表中可能的值,那么你不能使用=
。
SQL查询将像SELECT * FROM mytable WHERE ids=[1, 3, 6, 7, 9]
这是不正确的。 你必须in
运算符中使用in
这样你的查询就像SELECT * FROM mytable WHERE ids in (1, 3, 6, 7, 9)
__in
SELECT * FROM mytable WHERE ids in (1, 3, 6, 7, 9)
那个Django提供了__in
运算符。