Python Django-泛型UpdateView以一种形式工作,但不能以另一种形式工作

Python Django-泛型UpdateView以一种形式工作,但不能以另一种形式工作,python,django,Python,Django,我正在为我的学校项目开发一个web应用程序,我选择了Django,在网上找到的所有教程都非常全面,我成功地找到了我的困境 我有以下基于类的视图尝试更新对象: 视图.py class MyPostUpdateView(UpdateView): model = Post fields = ('VideoURL', 'MainDescription') template_name = 'myapp/editpost.html' 然后,我导入了我的url.py: path('p

我正在为我的学校项目开发一个web应用程序,我选择了
Django
,在网上找到的所有教程都非常全面,我成功地找到了我的困境

我有以下
基于类的视图
尝试更新对象:

视图.py

class MyPostUpdateView(UpdateView):
    model = Post
    fields = ('VideoURL', 'MainDescription')
    template_name = 'myapp/editpost.html'
然后,我导入了我的
url.py

path('profile/account/my-posts/<int:pk>/edit/', MyPostUpdateView.as_view(),
     name='myapp-editpost')
行为如下:如果我将
HTML
代码保留如上所述,则无法更新这两个字段中的任何一个。但是,如果我将这两个字段放在同一个
元素中,它会起作用:


{%csrf_令牌%}
表格1
视频URL:{form.VideoURL | add_类:“form control shadow soft”}
Titlu{{form.MainDescription}添加_类:“form control shadow soft”}
更新表格
1.
{%csrf_令牌%}
表格2
视频URL:{form.VideoURL | add_类:“form control shadow soft”}
Titlu{{form.MainDescription}添加_类:“form control shadow soft”}
更新表格2

谁能给我解释一下吗?我这样问是因为我想将
UpdateView
功能扩展到属于同一模型的其他字段。谢谢

在您的第一段代码中,您将这两个字段放入了两种不同的形式。当您提交表单时,仅采用已提交的表单

这就像把两个苹果放在第一个桶里,把两个桔子放在第二个桶里

假设您已将苹果和桔子的数量更改为1和1。我要求你只带一桶(你只能带一桶)。会发生什么?苹果的数量是1,但我不知道你是否改变了第二桶里的桔子数量

把苹果和桔子放在一个桶里,这样当你给我拿桶的时候,我就能清楚地知道有多少苹果和桔子被换了

苹果=videourl的内容

橙子=主要描述


bucket=form

您所说的
是什么意思?我无法更新这两个字段中的任何一个
?我猜你的模型需要两个字段都要填写(<代码>必需品=真值/code >),而且因为你只发送其中一个,所以更新失败了(安静地,因为我在代码中看不到任何表单验证),因此没有更新数据。它们将在模板中为您节省大量手动工作。