我希望为我的同事建立一个报价生成器,但我有些困惑。在报价中,我们有1个主要产品,可以包含许多不同数量的不同配件。例如。一个带有多个浇头的比萨饼,其中可能有1 x奶酪,2 x意大利辣香肠等。
#models.py
class Accessory(models.Model):
name = models.CharField(max_length=200, null=True, blank=True)
price = models.PositiveIntegerField(null=True, blank=True)
class Offer(models.Model):
customer = models.CharField(max_length=200)
product = models.ForeignKey(Product, null=True)
accessories = models.ManyToManyField(Accessory, through='Addons')
class Addons(models.Model):
offer = models.ForeignKey(Offer, on_delete=models.CASCADE)
accessory = models.ForeignKey(Accessory, on_delete=models.CASCADE)
quantity = models.IntegerField(default=1)
#forms.py
class Offerform(ModelForm):
accessories = forms.ModelMultipleChoiceField(
widget=forms.CheckboxSelectMultiple(),
queryset=Accessory.objects.all())
class Meta:
model = Offer
fields = '__all__'
我已通过我在其中指定了数量的自定义表格(附件)链接了我的报价附件。但是,如何在表单中获取“数量”作为字段,以便我可以选择附件并指定数量?
仅获得一个归档名称字段=('数量')