我有一个模型我想用相同的'substage'字段值更新多个对象字段'value'。目前我知道如何使用UpdateView更新一个对象字段'value',但我不知道如何为具有相同'subage'数字的多个对象执行此操作。我应该使用表格吗?
somethingElse()
这就是我现在所做的事情:
class ZoneSubStage(models.Model):
substage = models.ForeignKey(SubStage)
value = models.PositiveSmallIntegerField(default=0)
zonesubstage_update.html
class ZoneSubStageUpdate(UpdateView):
model = ZoneSubStage
fields = ['value']
template_name = 'autostages/zonesubstage_update.html'
答案 0 :(得分:0)
如果这是你的模特:
class ZoneSubStage(models.Model):
substage = models.ForeignKey(SubStage)
value = models.PositiveSmallIntegerField(default=0)
如果要将所有对象设置为相同的值,请使用form_valid
超级覆盖substage
方法以调用所有相关substage_set
个对象的更新。您可以使用Django ORM update()
方法:
class ZoneSubStageUpdate(UpdateView):
model = ZoneSubStage
fields = ['value']
template_name = 'autostages/zonesubstage_update.html'
def form_valid(self, form):
self.object.substage_set.update(myfield='new-value')
return super(ZoneSubStageUpdate, self).form_valid(form)