0

假设我有 4 种不同的内容类型——照片、博客、故事和图画。这些内容类型中的每一个都附加到一个可标记的管理器。

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

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

如何在不单独查询每种类型的情况下获取所有已标记为“test_tag”的对象的列表,如下所示:

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

我考虑尝试使用 ContentType 并按模型和标签 id 过滤来获取这些内容,但这似乎是一种非常迂回的做事方式,我相信一定有更好的方法。

那么,有没有一种简单的方法来获取共享相同标签的所有对象?

4

1 回答 1

0

终于想通了,希望这对某人有帮助......

tag_obj = get_object_or_404(Tag, pk=tag)
tagged = TaggedItem.objects.filter(tag=tag_obj)
于 2014-04-23T14:47:24.340 回答