我正在使用can_delete = True的formset。我想將DELETE字段的小部件更改爲隱藏的輸入。我似乎無法找到一個好辦法做到這一點。我已經試過是:如何更改django formset中DELETE字段的窗口小部件類型
變化形式的小部件HiddenInput和/或表單定義添加一個隱藏字段:
class MyForm(ModelForm):
DELETE = forms.BooleanField(widget=forms.HiddenInput)
class Meta:
model = MyModel
widgets = {'DELETE' : forms.HiddenInput}
執行上面的表單集的改變
class MyFormSet(BaseModelFormSet):
def add_fields(self, form, index):
originalDeletion = None
if DELETION_FIELD_NAME in form.fields:
originalDeletion = form.fields[DELETION_FIELD_NAME]
super(MyFormSet, self).add_fields(form,index)
if originalDeletion is not None:
form.fields[DELETION_FIELD_NAME] = originalDeletion
如果我這樣做,它確實將字段更改爲隱藏,但這似乎有點破解(有效覆蓋通常的add_fields方法)。你應該如何做到這一點?
== ==編輯
事實證明,使用隱藏字段是不是與形式框架,這樣很好的反正。你一定要使用複選框並用css隱藏它。如果你想調整Django複選框的CSS,我仍然認爲你必須改變上面的add_fields方法,然後你可以改變這個小部件的CSS。
它爲什麼** **已爲類型=隱藏的?隱藏它的其他方法不是很好嗎? – jpic 2012-02-21 15:04:54