我正在尝试将 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 等通用类视图是否支持继承模型?我错过了什么吗?如果不是,那么为继承模型提供表单的最佳方式是什么?