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方法来获得一个可迭代的QuerySet

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