我有一个模型将在其整个生命周期内更新。我希望每次更新都基于旧对象返回一个新对象,而不是更新原始对象。这是为了给用户以前的对象作为参考,同时确保他们不会覆盖它。我尝试使用相同的表格,这个问题建议可能会完成我想要的,但它没有(而是更新了)。然后我尝试重写 save 方法以指向我的 CreateView ,如下面的代码所示,但这告诉我它需要一个 CreateView 实例作为它的第一个参数。有没有办法得到我想要的行为?
class TriageUpdateView(PermissionRequiredMixin, UpdateView):
model = Triage
form_class = TriageForm
login_url = "/login/"
permission_required = "myapp.add_triage"
def form_valid(self, form):
obj = form.save(commit = False)
obj.completed_by = self.request.user.person
return TriageCreateView.form_valid(self, form)