我有一個模型MyModel,它包含一個PK - locid,它是一個AutoField。從模型中創建modelformset
我想構建從這個模型表單集,有一些注意事項:
- 的表單集的查詢集應該是一個自定義(比如,ORDER_BY(「田」)),而不是所有的()
- 由於MyModel的locid是一個AutoField,因此默認情況下是隱藏的,我希望能夠將它顯示給用戶。
我不知道該怎麼做。我已經嘗試了多種方法,
MyModelFormSet = modelformset_factory(MyModel, fields=('locid', 'name', 'dupof'))
上面給了我3個字段,但locid是隱藏的。
class MyModelForm(ModelForm):
def __init__(self, *args, **kwargs):
super(MyModelForm, self).__init__(*args, **kwargs)
self.fields['locid'].widget.attrs["type"] = 'visible'
locid = forms.IntegerField(min_value = 1, required=True)
class Meta:
model = MyModel
fields = ('locid', 'name', 'dupof')
以上給我ManyToMany錯誤。
有沒有人做過這樣的事情?
編輯
當我實例化的formset我現在可以使用自定義查詢 - 但我仍然需要顯示LOCID場給用戶,因爲該ID是應用程序的使用是重要的。我將如何做到這一點? 有沒有辦法來覆蓋隱藏PK的默認行爲,如果它的自動字段?
嗯,需要對這種形式是,我希望能夠ATLEAST _show_用戶LOCID (即使它是隱藏的並且不能被修改)。你認爲最好的方法是什麼? – viksit 2009-05-22 20:03:21