django多对象更新

django多对象更新,django,forms,object,Django,Forms,Object,我有一个模型,我想用相同的“子阶段”字段值更新多个对象字段“值”。目前,我知道如何使用UpdateView更新一个对象字段“value”,但我不知道如何对具有相同“substage”编号的多个对象进行更新。我应该用表格吗 class ZoneSubStage(models.Model): substage = models.ForeignKey(SubStage) value = models.PositiveSmallIntegerField(default=0) 这就是我目

我有一个模型,我想用相同的“子阶段”字段值更新多个对象字段“值”。目前,我知道如何使用UpdateView更新一个对象字段“value”,但我不知道如何对具有相同“substage”编号的多个对象进行更新。我应该用表格吗

class ZoneSubStage(models.Model):
    substage = models.ForeignKey(SubStage)
    value = models.PositiveSmallIntegerField(default=0)
这就是我目前所做的:

class ZoneSubStageUpdate(UpdateView):
    model = ZoneSubStage
    fields = ['value']
    template_name = 'autostages/zonesubstage_update.html'
zonesubstage_update.html

<form action="" method="post">{% csrf_token %}
    {{ form.as_p }}
    <input type="submit" value="Update" />
</form>
{%csrf\u令牌%}
{{form.as_p}}
如果这是您的型号:

class ZoneSubStage(models.Model):
    substage = models.ForeignKey(SubStage)
    value = models.PositiveSmallIntegerField(default=0)
超级重写
form\u valid
方法,以调用所有相关
子阶段
对象的更新,如果要将它们全部设置为相同的值,请使用
substage\u 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)
如果这是您的型号:

class ZoneSubStage(models.Model):
    substage = models.ForeignKey(SubStage)
    value = models.PositiveSmallIntegerField(default=0)
超级重写
form\u valid
方法,以调用所有相关
子阶段
对象的更新,如果要将它们全部设置为相同的值,请使用
substage\u 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)

你要的是a。你要的是a。我不想把它们都设置为相同的值。我希望能够决定在一个表单中分别为它们设置什么值。因此,想象一个页面显示了这些值,这样我就可以分别单击每个值,通过键入值来更改值,并在为所有值按一个按钮update后进行更新。@BlueTomato然后您需要使用@ivan提到的
Django FormSet
。我不想将它们全部设置为相同的值。我希望能够决定在一个表单中分别为它们设置什么值。因此,想象一下一个页面显示了这些值,这样我就可以分别单击每个值,然后通过键入值来更改值,并在为所有值按下一个按钮update后进行更新。@BlueTomato然后您需要使用@ivan提到的
Django表单集