我正在尝试为我的需求编写通用更新视图。 我的视图应该在不同的模型中更新具有相同名称的字段。 以与@permission_required装饰器类似的方式检查用户是否具有该权限。 应该在一个对象上工作。 使用ajax请求 - 意味着我需要返回一个代码/ json。 我没有使用内置的django,我自己写的。 由于这些原因,我无法使用UpdateView中内置的django。 我想扩展SingleObjectMixin。我陷入了将模型保存到数据库的地方。
答案 0 :(得分:0)
__block
或者,您可以使用表单保存方法实现它:
class MyUpdateView(generic.UpdateView):
...
def form_valid(self,form):
# ... do something here ...
obj = form.save()
obj1 = AnotherModel.objects.get(...)
obj1.the_field = obj.the_field
obj1.save()
obj2 = YetAnotherModel.objects.get(...)
obj2.the_field = obj.the_field
obj2.save()
return super(MyUpdateView,self).form_valid()
然后在你看来:
class MyForm(forms.ModelForm):
def save(self):
obj = super(MyForm,self).save()
# ... save to other models
return obj