我是Django的新手,拥有ManyToMany字段的模型。我正试图在我的html中显示tag
名称。如果我在模板中使用{{ listing.tag }}
,我会收到<django.db.models.fields.related.ManyRelatedManager object at 0x10916f410>
和{{ listing.tag.name }}
之类的内容。
这是我的模特:
from django.db import models
from django_extensions.db.fields import AutoSlugField
class Tag(models.Model):
name = models.CharField(max_length=100)
slug = AutoSlugField(populate_from='name', unique=True)
def __unicode__(self):
return self.name
class Listings(models.Model):
listing = models.CharField(max_length=50)
description = models.CharField(max_length=500)
email = models.EmailField(max_length=75)
tag = models.ManyToManyField(Tag)
pub_date = models.DateTimeField(auto_now=True)
def __unicode__(self):
return self.listing
我如何显示标签的名称?提前致谢。
答案 0 :(得分:4)
从ManyToMany returns a queryset开始,您需要遍历查询集。
您可以通过以下方式访问查询集:{{ listing.tag.all }}
你可以这样访问它
{% for tag in listing.tag.all %}
{{tag.name}}
{% endfor %}
答案 1 :(得分:1)
你应该遍历你的标签集:
{% for tag in listing.tag.all %}
{{ tag.name }}
{% endfor %}
答案 2 :(得分:0)