2012-11-30 66 views
0

我使用django-taggit来管理我的应用中的标签。我能拉标记物品是这样的:使用django-taggit获取特定的标签对象

photos = Photo.objects.filter(
    Q(status = 1) & Q(tags__id__in=[id]) 
).order_by('-position') 

我想要得到的是当前的标签名称。我怎样才能做到这一点?

+0

假设标签与照片,然后'photo.tags.all()' –

+0

@Aamir阿德南我只想相关当前标签,而不是与对象关联的所有标签。 – azio

+0

你是什么意思“当前标签”? – Enrico

回答

2

您正在通过tags__id__in这意味着您知道标签ID ?.所以直接拿到它们。

tags = Tags.objects.filter(id__in=[ids]) 
for tag in tags: 
    print tag.name 

或者用你提到的查询(我从您的查询不包括tags__id__in

photos = Photo.objects.filter(status=1).order_by('-position') 
for photo in photos: 
    tags = photo.tags.all() 
    for tag in tags: 
     print tag.name