如何用django数据库列中的其他值替换特定值?
我有一个表“Subscriber”,其中一列的名称是Status 我想替换“status”列的值。其中status=1和3将其更改为4。换句话说,所有“1和3”状态都转换为4 如何解决此问题。使用获取如何用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.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。我学到了远离这些不清楚的问题的经验。试试看,文档中已经详细介绍了这一点,在你最喜欢的搜索引擎上已经有了很多有用的链接。