ModelForms で Django の汎用 UpdateViews を使用しようとしていますが、使用しているモデルは継承されたモデルです。
モデルとフォームが「BaseModel」にバインドされているときに UpdateView クラスを拡張すると、すべて正常に動作します。存在しないインスタンスに対して 404 を受け取り、データを正常に表示および保存できます。
モデルとフォームが「InheritedModel」にバインドされているときに UpdateView クラスを拡張すると、ページは読み込まれますが、データは渡されず、存在しないインスタンスの URL にアクセスしようとすると、ページは引き続き同じ。
models.py
class Account(models.Model):
account_name = models.CharField(max_length=255)
class CheckingAccount(Account):
overdraft = models.IntegerField()
urls.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 などのジェネリック クラス ビューは継承モデルをサポートしていますか? 何か不足していますか?そうでない場合、継承されたモデルのフォームを提供する最良の方法は何ですか?