0

インスタンス設定ロジックなしでModelForma をレギュラーに変換する明白な方法はありますか?Form

まったく同じフィールド リストからの入力を使用してモデルにクエリを実行してに変換したい Update/Create ModelForm ビューがありますが、データがすぐにアタッチされるSearchViewため、必要なフィールドとタイプで問題が発生します。ModelFormself.instance

必要なものを得るためにメタクラスにハッキングすることになりましたが、目の前でいくつかの関数をオーバーライドする前に、簡単に解決策を見逃す可能性があると感じています。コアのdjangoコードを引っ張るのはあまり好きではありません...

メタクラス全体をコピーして貼り付けるよりも、他の形式のハッカーの方が望ましいでしょう。

class ModelFormMetaclass(type):
    def __new__(cls, name, bases, attrs):
        formfield_callback = attrs.pop('formfield_callback', None)
        try:
            parents = [b for b in bases if issubclass(b, ModelToForm)] #<-- here
        # ... rest of class

class ModelToForm(BaseForm):
    __metaclass__ = ModelFormMetaclass

アップデート:

ModelForm._post_clean()インスタンスの構築/関連するフィールドの検証を担当しているようです。

現在、私は無効_post_clean()にして、それが私をどこに連れて行くかを見ています。

4

0 に答える 0