【问题标题】:In django-taggit, how to get tags for objects that are associated with a specific user?在 django-taggit 中,如何获取与特定用户关联的对象的标签?
【发布时间】:2012-07-04 12:48:48
【问题描述】:

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

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.

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

>>> from taggit.models import Tag
>>> Tag.objects.all()

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

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

【问题讨论】:

    标签: python django django-models tags django-taggit


    【解决方案1】:

    我遇到了类似的问题,这是我的解决方案:

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

    希望对你有帮助~

    【讨论】:

      猜你喜欢
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 2012-08-18
      • 2014-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多