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

Database:
-----------------------
ColA  |  ColB
-----------------------
1     |  "Test string."


以及更新的代码:

o = Model.objects.select_related().filter(ColA=1).update(
    ColB = "Entry 2")


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

最佳答案

可以,但是有点怪异。

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()

关于python - 附加到Django中的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42628433/

10-10 02:59