我创造了商店。我有两个模型:
class Product(models.Model):
name = models.CharField(verbose_name="name", max_length=40)
cost = models.FloatField(verbose_name="price")
def __unicode__(self):
return self.name
class Shop(models.Model):
product = models.ManyToManyField(Product)
name = models.CharField(verbose_name="Nazwa", max_length=40)
budget = models.FloatField(verbose_name="kwota")
def __unicode__(self):
return self.name
我创建了forms.py文件:
class ShopForm(forms.ModelForm):
product = forms.ModelMultipleChoiceField(queryset = Product.objects.all(), widget=forms.CheckboxSelectMultiple(),required=True)
name = forms.CharField(max_length=15, label='Name')
budget = forms.FloatField()
class Meta:
model = Shop
fields = ('product','name', 'budget')
现在我有类似的东西:
我必须更改以增加此产品旁边的产品成本?我不知道,但我认为这很简单......
当我想要商店的展示细节时,我不知道如何遍历产品。 例如,当我想要这个商店的名称我添加
{{ shop.name }}
当我做的时候
{{ shop.product }}
我收到错误
StopIteration at /shop/1/
No exception message supplied
我知道这是问题,因为它是ManyToManyField但是如何创建解决方案?
答案 0 :(得分:0)
对于第一个问题,你可能会尝试使用标准的html表单元素创建没有django表单的表单,可能有一个解决方案,但我不知道如何处理django表单。
第二个问题, 你应该用这个:
{% for p in shop.product.all %}
{{p.name}}
{% endfor %}