1

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 などのジェネリック クラス ビューは継承モデルをサポートしていますか? 何か不足していますか?そうでない場合、継承されたモデルのフォームを提供する最良の方法は何ですか?

4

0 に答える 0