首页 > 解决方案 > 如何使用 Django 进行查询但有更多过滤器和更新?

问题描述

我知道要使用 Django 进行查询,我必须这样做:

MyModel.objects.filter(pk=some_value).update(field1='some value')

但是,如果我对过滤器和更新有更多的价值,这行得通吗?

MyModel.objects.filter(pk=some_value, pk1=some_value1).update(field1='some value', field2='some value2')

标签: pythondjango

解决方案


是的,如您所述,您可以在多个字段中使用过滤器和更新。

额外:如果您想将单个字段与多个值进行比较,您可以将这些值放在一个列表中,如下所示:

values_list = [some_value1, some_value2, ...]

然后,您可以通过检查该字段是否与列表中的任何值匹配来进行过滤:

MyModel.objects.filter(pk__in=values_list).update(field1='some value', ...)

推荐阅读