我有幾十個模型,每個模型都有一個關聯的ModelForm(其Meta.model指的是所討論的模型)。如何找到相關聯的Django ModelForm給定模型
E.g.
class FooModel(Model):
pass
class FooModelForm(ModelForm):
class Meta:
model = FooModel
# current approach using a classmethod
FooModelForm.insert_in_model() # does cls.Meta.model.form = cls
所以,很明顯,很容易找到給FooModelForm的FooModel。我想要的是知道進行REVERSE的最佳方式:當我使用FooModel或甚至字符串「Foo」時,找到FooModelForm。
假設只有一個的ModelForm每個模型,雖然返回多個解決方案的罰款。
我目前的做法是藏匿在窗體類模型(如上圖所示),但我想知道更好的方法特別是那些可以計算它集中(不高於最終線)。
編輯:我已經審覈之類的東西Django: Display Generic ModelForm or predefined form,但我相信這是一個較簡單的問題。 Django管理員代碼必須按照我所尋求的方式來做一些事情。但是get_model equivalent for ModelForms?暗示可能是巫術,並且最好只是做dict['Foo']=FooModelForm
或其等價物以明確地跟蹤關聯。似乎重複。
您可能會掃描項目中的所有ModelForm,以查找Model並返回其值,但是出於什麼目的?你目前的任務是明確的 - 比隱式更好。 – 2011-03-18 23:08:10