1
在形式我想使用包含有不尚未選定ChoiceField所有項目的列表。爲了做到這一點,我想通過選擇迭代並丟棄所選擇的那些(即選擇在他們的HTML =「選擇」)如何檢查ChoiceField中的項目是否被選中?
class MethodForm(ModelForm):
def __init__(self, *args, **kwargs):
super(MethodForm, self).__init__(*args, **kwargs)
#pseudo-code starts here
exclude = []
for val in self.fields['someM2Mfield'].choices:
exclude.append(val.is_selected)
#/pseudocode
rule_choices = get_rule_choices(exclude)
self.fields['rule'] = forms.ChoiceField(rule_choices)
...
中的僞位是我不知道用什麼方法/要使用的屬性。任何人都可以啓發我嗎?
PS:我可以在self.fields[].choices.__iter__
上調用next()
來遍歷選項,但是如何確定選擇是否被選中?
現有形式這隻作品。當添加了新的形式(MethodForm是一個formset的一部分),現有的值仍然排除,但在新添加的形式的值不是。任何想法,我怎麼能包括這些呢? – 2012-08-04 01:27:26
沒關係,發現根據你的答案+自己的一個新形式的情況下,一些家庭釀造的解決方案。 – 2012-08-04 01:45:57