我在django中缺少一个想法或方法来处理这个问题。
我有一个实例列表(类Sample),我希望在一个带有复选框的表单中显示它们中的最后10个...我想要一个按钮“处理这些”以提交已检查的实例到一个看法。此视图应显示所选实例的detailView。
我不知道,如何处理这个问题。有人可以给我一个暗示吗?到目前为止我所做的只是创建一个实例的形式。
提前致谢。
答案 0 :(得分:1)
您可以使用ModelChoiceField或ModelMultipleChoiceField。
class MyForm(forms.Form):
my_list_of_instances = forms.ModelMultipleChoiceField(queryset = MyModel.objects.all().order_by('-id')[:10], widget=forms.CheckboxSelectMultiple)
这应该生成一个复选框列表,其中包含最近创建的10个实例。
通过这种方式,您可以准备好接收输入的表单......只需将您的操作指向您的视图即可。
编辑: 如果您想拥有多个表单,每个表单一个,您可以使用Formsets。你不会得到复选框......你会得到任何适用于你的实例的更改。如果您想同时拥有(复选框和表单集),则可以使用这两个建议,使用发送到服务器的复选框值来过滤要保存的表单集。