1

我正在尝试将 Django 的通用 UpdateViews 与 ModelForms 一起使用,但是我使用的模型是继承模型。

如果我在模型和表单绑定到“BaseModel”时扩展 UpdateView 类,一切正常。对于不存在并且可以成功查看和保存数据的实例,我得到 404。

如果我在模型和表单绑定到“InheritedModel”时扩展 UpdateView 类,则页面将加载但没有数据通过,并且当我尝试访问不存在的实例的 URL 时,页面仍会加载相同的。

模型.py

class Account(models.Model):

    account_name = models.CharField(max_length=255)

class CheckingAccount(Account):

    overdraft = models.IntegerField()

网址.py

url(r'^account/(?P<pk>\d+)/edit/$', CheckingAccountUpdateView.as_view(), name='account-checking-edit'),

表格.py

class CheckingAccountForm(ModelForm): 

    class Meta: 
        model = CheckingAccount

视图.py

class CheckingAccountUpdateView(UpdateView): 

    model = CheckingAccount
    form_class = CheckingAccountForm 
    template_name = 'account/checking_edit.html'
    success_url = '.'

UpdateView 等通用类视图是否支持继承模型?我错过了什么吗?如果不是,那么为继承模型提供表单的最佳方式是什么?

4

0 回答 0