附加到 Django 中的对象

Gre*_*ber 1 python django

我需要将信息附加到 Django 中的对象而不是更新它。我有这个数据库:

Database:
-----------------------
ColA  |  ColB
-----------------------
1     |  "Test string."
Run Code Online (Sandbox Code Playgroud)

以及更新的代码:

o = Model.objects.select_related().filter(ColA=1).update(
    ColB = "Entry 2")
Run Code Online (Sandbox Code Playgroud)

这将设置ColBEntry 2. 我希望能够追加而不是更新。有没有办法可以附加文本,以便ColB将其设置为"Test string. Entry 2."

Dan*_*man 5

可以,但是有点麻烦。

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')))
Run Code Online (Sandbox Code Playgroud)

获取项目,修改它并保存它可能更容易:

o = Model.objects.get(ColA=1)
o.ColB += "Entry 2"
o.save()
Run Code Online (Sandbox Code Playgroud)