我希望在查询集中更新对象的Django模型字段。具体来说,我想在其中一个字段上添加一个前缀,即如果某个对象的名称如'Wilson',我想在其前面添加'OLD',那么它将成为'OLDWilson'。
我可以想到以下使用循环:
my_objs = MyObjects.objects.filter(name='some_name') # This has over 40000 records
for obj in my_objs:
obj.name = 'OLD{0}'.format(obj.name)
obj.save()
我希望有一种更优雅的方式来利用此处指定的UPDATE
方法:Django Mass Update
如下所示:
MyObjects.objects.filter(name='some_name').update(name='OLD+name_here')
关于如何实现这一目标的任何指示?
答案 0 :(得分:1)
尝试这样的事情:
from django.db.models import F
Myobj = MyObjects.objects.filter(name='some_name')
Myobj.update(name='OLD'+ F('name'))