2

レビューと製品の 2 つのモデルがあります。

class Review(models.Model):
    user = models.ForeignKey(User, related_name="user_blog")
    tag = TaggableManager() 
    product = models.ForeignKey(Product)
    review_text = models.TextField() 
    created = models.DateTimeField(auto_now=True, auto_now_add=False)
    updated = models.DateTimeField(auto_now=True, auto_now_add=True)
    hashtag = models.ForeignKey(Hashtag)

class Product(models.Model):
    name = models.CharField(max_length=500)

製品に関連するすべてのタグをフィルタリングしたいのですが、これは次のようにしています。

review = Review.objects.get(product=prod.id)  
for tag in review.tag:
    print tag.name

しかし、私は得ています:

 Traceback (most recent call last):
  File "<console>", line 1, in <module>
TypeError: '_TaggableManager' object is not iterable
4

1 に答える 1

3

Manager反復可能ではありません。メソッドを使用allして iterable を取得しますQuerySet

for tag in review.tag.all():
    print tag.name
于 2014-02-06T04:49:33.177 に答える