如何更新多行
我是模特,
class ModelA(models.Model):
colA = ArrayField(models.IntegerField())
我想更新ModelA的所有行,即例如: - 我想在列1
的所有行中附加colA
。
如果它是正常的专栏,我会做以下事情: -
ModelA.objects.all().update(colA="foo")
如何批量更新Arrayfield?
答案 0 :(得分:0)
我认为目前无法做到这一点,我认为你能做的最好就是迭代模型。
for model in ModelA.objects.all():
for val in model_a.colA:
val = val + 1
model.save()
如果您愿意,也可以将此作为原子事务执行。虽然可能值得考虑该字段是否真的应该是数组字段。
答案 1 :(得分:0)
您可以尝试使用django-bulk-update包。虽然我不确定它是否可以处理ArrayField
答案 2 :(得分:-1)
为什么不进行数据库迁移?我相信Django的数据库迁移系统应该可以让你轻松完成。