我需要将信息附加到Django中的对象而不是更新它。我有这个数据库:
Python has 002 type of quotes
更新的代码:
Database:
-----------------------
ColA | ColB
-----------------------
1 | "Test string."
这会将o = Model.objects.select_related().filter(ColA=1).update(
ColB = "Entry 2")
设置为ColB
。我希望能够追加而不是更新。我有没有办法追加文字,以便Entry 2
设置为ColB
?
答案 0 :(得分:4)
你可以,但它有点繁琐。
from django.db.models import Value
from django.db.models.functions import Concat
Model.objects.select_related().filter(ColA=1).update(ColB=Concat('ColB', Value('Entry 2')))
获取项目,修改项目并保存项目可能更容易:
o = Model.objects.get(ColA=1)
o.ColB += "Entry 2"
o.save()
答案 1 :(得分:0)
objects = Model.objects.select_related().filter(ColA=1)
for o in objects:
o.colB = o.colB + ' Entry 2.'
o.save()