指定されたモデルのフォームを生成して返す関数(Django 1.4、python 2.7.2+)に取り組んでいます。Formの内部メタクラスを指定したいので、3つの引数でtype()メソッドを使用するのに問題があります。Djangoのドキュメントには、モデル用に自動生成されたフォームの例が示されています。
class PartialAuthorForm
m(ModelForm):
class Meta:
model = Author
今、私はそれを一般化し、自動的にフォームを作成したいと思います。したがって、返されたフォーム内でMetaを指定し、その中に属性 "model=model_cls"を指定します。
from django.forms import ModelForm
def generate_form_for(model_cls):
ret_cls = type(model_cls.__name__ + "Form", (ModelForm,), {???})
何が「???」かわからない に置き換える必要があります。あなたは?