在Djangotaggit中,如何获取与特定用户关联的对象的标记?

2024-06-16 10:21:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一系列与特定用户相关联的对象,例如:

from django.db import models
from django.contrib.auth.models import User
from taggit.managers import TaggableManager

class LibraryObject(models.Model):
    title = models.CharField(max_length=255)
    owner = models.ForeignKey(User)
    tags = TaggableManager()
    class Meta:
        abstract = True

class Book(LibraryObject):
    summary = models.TextField()

class JournalArticle(LibraryObject):
    excerpt = models.TextField()

# ...etc.

我知道我可以像这样检索所有标签:

^{pr2}$

但是如何检索与特定用户关联的所有标记?我在想象Tag.objects.filter(owner=me),但这当然行不通。在

作为参考,这里是django-taggit documentation。在


Tags: 对象django用户fromimportdbmodelstaggit
1条回答
网友
1楼 · 发布于 2024-06-16 10:21:39

我也遇到过类似的问题,下面是我的解决方案:

tags = Tag.objects.filter(book__owner=me)
tags |= Tag.objects.filter(journalarticle__owner=me)
tags = tags.distinct()

~

相关问题 更多 >