带有额外字段的Django MultiChoiceField

时间:2016-06-16 22:07:37

标签: python django forms multichoiceitems

基本上我需要创建一个multichoicefield,另外还有数量字段。

因此,对于每个选项,我需要添加这个额外的positiveinteger字段,但我不知道如何添加它。

编辑:

我需要下订单,因此您需要检查要添加到订单中的元素,以及您想要的每个元素。

1 个答案:

答案 0 :(得分:0)

您需要两个不同的字段。第一个是元素,另一个是元素。然后,当您恢复它们时(通常从表单中恢复),您可以根据需要处理它们(在视图中),并且可以将它们存储在db中(按模型)。

可能是:

class Order(forms.Form):
  quantity = forms.IntegerField()
  product = forms.ModelChoiceField(queryset=Product.objects.values("name").distinct())
  client = forms.CharField()

另一方面,如果您想添加多个产品和数量,可以使用两个按钮,添加和订购。 添加,将每个name_of_product和数量存储在将成为会话变量的字典中。 订单,将恢复这个字典,并将做你的东西(发送电子邮件,存储在数据库,等等......)