我想在Django中运行这个sql查询
UPDATE `TABLE` SET `COLUMN` = (CASE WHEN `COLUMN` = "" THEN '100' ELSE CONCAT(`COLUMN`,'100') END)
WHERE `SOMEID` IN [id1,id2,id3];
我试过这个
from django.db.models import Case, When, F
Table.objects.filter(someid__in=[id1,id2,id3]).
update(column=
Case(
When(column="",then="100"),
default= column + "100",
)
)
我不知道如何把concat在默认这里。
1条答案
按热度按时间nwnhqdif1#
可以使用
F
对象:您不需要检查是否为
column == ""
,因为将"100"
附加到它之后并不重要。