Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用CBV form_invalid()方法更新模型对象_Python_Django - Fatal编程技术网

Python 使用CBV form_invalid()方法更新模型对象

Python 使用CBV form_invalid()方法更新模型对象,python,django,Python,Django,我想更新模型中的现有对象。但是我使用的是form\u invalid(self,form) **views.py** class SomeClassView(UpdateView): model = Some form_class = SomeForm template_name = 'some.html' def form_invalid(self, form): Some.objects.get(id=self.kwargs['pk']).u

我想更新模型中的现有对象。但是我使用的是
form\u invalid(self,form)

**views.py**
class SomeClassView(UpdateView):
    model = Some
    form_class = SomeForm
    template_name = 'some.html'

    def form_invalid(self, form):
        Some.objects.get(id=self.kwargs['pk']).update(**form.cleaned_data)
        return HttpResponseRedirect(self.request.POST['redirect_url'])

**urls.py**
url(r'^edit/(?P<pk>\d+)/$', SomeclassView.as_view(), name='edit'),
这是因为
get()
不返回查询集。相反,它返回模型的一个实例

试着替换

Some.objects.get(id=self.kwargs['pk']).update(**form.cleaned_data)

有关更多信息,请阅读

Some.objects.get(id=self.kwargs['pk']).update(**form.cleaned_data)
Some.objects.filter(id=self.kwargs['pk']).update(**form.cleaned_data)