获取共享相同标记的所有对象

时间:2014-04-23 10:04:47

标签: django django-taggit

假设我有4种不同的内容类型 - 照片,博客,故事和图纸。每种内容类型都附加到可标记的管理器。

Tags = TaggableManager(blank=True, through=CustomTag)

现在,假设我使用' test_tag'标记每个模型,id = 1

如何获取已标记的所有对象的列表' test_tag'没有像这样单独查询每种类型:

#tag = 1
MyContentType.objects.filter(tags__id__in=tag)

我试图使用ContentType来获取这些内容并按模型和标记ID进行过滤,但这似乎是一种非常迂回的做事方式,我确信必须有更好的方法。

那么,是否有一种简单的方法可以获得共享相同标签的所有对象?

1 个答案:

答案 0 :(得分:0)

最终想出来,希望这有助于某人...

tag_obj = get_object_or_404(Tag, pk=tag)
tagged = TaggedItem.objects.filter(tag=tag_obj)