多校高级访问:检查所有内容是否没有检查



我想做的事情看起来很简单:我有一个以django形式的多人校园菲尔德,它在名为diCo的模型中提出了所有书籍的ID和伪。

class FiltreMonoForm(forms.Form):
    dico_choices = []
    for dic in Dico.objects.all().order_by('pseudo'):
        dico_choices.append((dic.id, dic.pseudo))
    dico_choices=tuple(dico_choices)
    dicos = forms.MultipleChoiceField(required=False, widget=forms.CheckboxSelectMultiple, choices=dico_choices, initial=[c[0] for c in dico_choices], label="Diccionaris sorsas")

我在视图中重新获得此表格:

def monollist(request):
    if request.GET:
        getcopy = request.GET.copy()
        form = FiltreMonoForm(getcopy)
        dicos = form.cleaned_data['dicos']
    else:
        form = FiltreMonoForm()

我想检查所有书籍,如果用户都没有检查。类似:

if request.GET:
    getcopy = request.GET.copy()
    form = FiltreMonoForm(getcopy)
    dicos = form.cleaned_data['dicos']
    for dic in Dico.objects.all().order_by('pseudo'):
        dico_choices.append((dic.id, dic.pseudo))
    dico_choices=tuple(dico_choices)
    if len(dicos)==0:
        form['dicos']=dico_choices

,但我找不到如何更改多层杂货店的价值。我尝试了

form.data['dicos']=dico_choices

,但似乎我只能给出一个值。

我试图以添加

的形式覆盖__init__方法
self.data.update(dicos=dico_choices)

但是我遇到了同样的问题,只有当dico_choices是一个值时,它才能起作用。

您是否知道如何用多个值覆盖我的多人校园?

谢谢

if 'dicos' not in getcopy:
            for dic in Dico.objects.all():
                getcopy.update({'dicos': dic.id})

相关内容

最新更新