0

これが私の2つのモデルです

    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 に答える