在一个表单中,我想使用一个列表,其中包含 ChoiceField 中尚未选择的所有项目。为了做到这一点,我想遍历选择并丢弃被选中的那些(即在他们的 html 中有 selected="selected" )
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:我可以通过调用来遍历选项next()
,self.fields[].choices.__iter__
但是如何确定选项是否被选中?