Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用django数据库列中的其他值替换特定值?_Django - Fatal编程技术网

如何用django数据库列中的其他值替换特定值?

如何用django数据库列中的其他值替换特定值?,django,Django,我有一个表“Subscriber”,其中一列的名称是Status 我想替换“status”列的值。其中status=1和3将其更改为4。换句话说,所有“1和3”状态都转换为4 如何解决此问题。使用获取或条件。剩下的只是一个简单的更新调用 Subscriber.objects.filter(Q(status=1)|Q(status=3)).update(status=4) 关键字参数查询–在filter()中,等等–被“和”组合在一起。 如果需要执行更复杂的查询(例如,使用 或语句),您可以使用

我有一个表“Subscriber”,其中一列的名称是Status

我想替换“status”列的值。其中status=1和3将其更改为4。换句话说,所有“1和3”状态都转换为4

如何解决此问题。

使用获取
条件。剩下的只是一个简单的更新调用

Subscriber.objects.filter(Q(status=1)|Q(status=3)).update(status=4)
关键字参数查询–在filter()中,等等–被“和”组合在一起。 如果需要执行更复杂的查询(例如,使用 或语句),您可以使用Q对象


阅读此处更新的文档:

@e4c5的解决方案非常好,尽管我尝试为复杂查询保留
Q
对象,但在这种情况下,我可能只使用过滤器:
Subscriber.objects.filter(status\u in=[1,3])。更新(status=4)

#e4c5它也会直接命中数据库,或者我应该在A=Subscriber.objects.filter(Q(status=1)| Q(status=3)).update(status=4)A.save之前保存它吗?是否需要迁移?为什么需要迁移来运行更新??我强烈建议您阅读django queryset文档页面good point@sayse。我学到了远离这些不清楚的问题的经验。试试看,文档中已经详细介绍了这一点,在你最喜欢的搜索引擎上已经有了很多有用的链接。