我正在生成一系列从数据库填充的复选框。我怎么能考虑做一个全面检查?即不要更改对象模型,但可以在模板中单击一个框并选择所有选项。
从表单中,我创建了以下复选框:
MyGender = forms.ModelMultipleChoiceField(queryset=Gender.objects.all(), required=False, widget=forms.CheckboxSelectMultiple)
并在视图中:
form = MyPreferencesForm(request.POST)
并显示:
return render(request, "mypreferences.html",{'form': form})
一个不涉及JS的解决方案是否可以拥有额外的DB字段,并且在保存之前执行检查以查看是否已选择了select all,然后使用每个选项填充保存的对象。当然,在视觉上没有其他任何一个盒子会改变,所以从UI的角度来看这不是很好,但它确实意味着没有JS。
如何尽可能强健地选择所有内容?有JS还是没有?