0

这是我的两个模型

    class Category(models.Model):
        name = models.CharField(max_length = 50)
        description = models.CharField(max_length = 1000)
        created = models.DateTimeField(auto_now_add=True)
        def __unicode__(self, ):
            return self.name

    class Post(models.Model):
        subject = models.CharField(max_length=50, blank=True)
        description = models.CharField(max_length=1000)
        created = models.DateTimeField(auto_now_add=True)
        category = models.ManyToManyField(Category)

        def __unicode__(self, ):
           return self.subject

我在模板中显示每个帖子的主题、描述和日期。但我也想显示每个帖子的相应类别。

这是我观点的一部分

def index(request):
    posts = Post.objects.order_by("-created")
    return render(request,'posts/index.html', {'posts':posts})

然后我如何尝试在模板中显示它:

    {% for post in posts %}
        <div>
           {{ post.subject }}<br />
            {{ post.description }}<br />
            {{ post.created }} | of {{ post.category }}
        </div>
    {% endfor %}

但是类别不会出现,我得到的只是

<django.db.models.fields.related.ManyRelatedManager object at 0x7ff7e40a0c90>

我试过做 post.category.name 和其他随机组合,但它要么什么也没给出或解析错误。我不知道如何显示类别。

4

1 回答 1

0

那是一个Manager。像使用其他任何东西一样使用它Manager(例如Post.objects)。

{% for category in post.category.all %}
于 2013-06-16T04:56:02.913 回答