id_tuple= (1,3,4,5,7,9)
students =Students.objects.filter(id in id_tuple)
for s in students :
s.name='_new_name_'
此代码出错! 我怎么解决? 基于上面的元组我希望得到所有学生!
如何做到
答案 0 :(得分:10)
正如stepnak所说,在查询中进行正确的语法是filter(id__in=id_tuple)
Django文档将是获取此信息的绝佳资源。 https://docs.djangoproject.com/en/dev/ref/models/querysets/#in
答案 1 :(得分:2)
您可以使用IN字段查找作为@stepank建议。
更多解释:Django ORM使用特殊语法将python代码转换为SQL语句。只需将bool
(如果定义id
)值传递给filter
,就不是有效的语法。
如果您是Django的新手,可以从here开始。您也可以参考完整的reference。在询问之前参考文档是一种很好的做法。 :)
答案 2 :(得分:0)
学生= Students.objects.filter(id__in = id_tuple)