【发布时间】:2018-03-27 07:22:03
【问题描述】:
我正在使用基于 Django 类的通用视图。在我的 models.py 中,我有一个名为 MyModel 的模型,其中包含名为 m2m 的多对多字段。我有多个用户组,他们可以编辑 m2m 字段。每组用户只能查看并将他们的部分添加到该字段 - 使用 get_form 设置他们可以在 m2m 字段中看到的内容。我遇到的问题是,当一个用户输入他的记录时,它将删除 m2m 字段中的初始记录。我需要以某种方式从 m2m 字段中获取初始值并保存它们,然后在提交表单时将它们添加到新值中。这是我的views.py:
class MyModelUpdate(UpdateView):
model = MyModel
fields = ['m2m']
def get_initial(self):
return initials
def get_form(self, form_class=None):
form = super(MyModelUpdate, self).get_form(form_class)
form.fields["m2m"].queryset = DiffModel.objects.filter(user = self.request.user)
return form
def form_valid(self, form):
form.instance.m2m.add( ??? add the initial values)
return super(MyModelUpdate, self).form_valid(form)
def get_success_url(self):
...
【问题讨论】:
标签: django django-generic-views