在Django中,我可以有如下的查询:
from django.db.models import Value
from django.db.models.functions import Replace
MyModel.objects.update(description=Replace("description", Value("old_1"), Value("new_1")))
MyModel.objects.update(description=Replace("description", Value("old_2"), Value("new_2")))
第一个.update
将遍历数据库,在description字段中查找“old_1”子字符串,并用“new_1”子字符串替换它;第二个.update
调用将对old_2
子字符串执行相同的操作,用new_2
子字符串替换它。
这可以在单个查询中完成吗?
1条答案
按热度按时间lo8azlld1#
您可以执行**
Replace
**[Django-doc]两次:我们可以用效用函数来构建这样的表达式:
然后,我们可以将这些嵌套为: