如何显示多对多关系中的所有属性?

时间:2012-08-19 21:12:09

标签: django templates view model many-to-many

我的Django应用程序中有2个模型,它们具有多对多的关系。如何显示产品的每个类别?我在视图和模板中包含哪些内容?

class Product(models.Model):
    website = models.CharField('Product name', max_length = 200)
    mutliple_cat = models.ManyToManyField(Multicat, null=True, blank=True)
    def __unicode__(self):
        return self.website

class Multicat(models.Model):
    mutlicat = models.CharField('Multi cat', max_length = 200, null=True, blank=True)
    mutlicat_url = models.CharField('Multi cat url', max_length = 200, null=True, blank=True)
    def __unicode__(self):
        return unicode(self.mutlicat)

这就是我的看法:

product = Product.objects.order_by("website")

模板:

{% for prod in product %}
    {% for cat in prod.multiple_cat.all %}
            {{ cat.multicat }}
    {% endfor %}
{% endfor %} 

1 个答案:

答案 0 :(得分:0)

假设您将名为my_product的变量中的产品传递给模板:

{% for cat in my_product.multiple_cat.all %}
    multicat name: {{ cat.multicat }}
    multicat url: {{ cat.multicat_url }}
{% endfor %}