Sur*_*oor 2 django many-to-many
我对Django非常陌生,并且拥有一个具有ManyToMany字段的模型。我正在尝试tag在html中显示名称。如果我{{ 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
Run Code Online (Sandbox Code Playgroud)
如何显示标签名称?提前致谢。
由于ManyToMany返回一个queryset,因此您需要遍历整个queryset。
您可以通过以下方式访问查询集: {{ listing.tag.all }}
你可以这样访问
{% for tag in listing.tag.all %}
{{tag.name}}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
748 次 |
| 最近记录: |