【问题标题】:Using taggit django使用 taggit django
【发布时间】:2013-03-15 12:51:52
【问题描述】:

我正在使用 django taggit 为所有出价添加标签。

我的出价模式如下:

class Bid(models.Model):
    tags = TaggableManager()

如何从具有该标签的所有出价中删除特定标签?

我打算做以下事情:

假设我想从带有该标签的所有出价中删除标签“美味”:

bids = Bid.objects.filter(tags__name__in=["delicious"])
bids.tags.remove("delicious")

这是正确的做法吗?

谢谢!

【问题讨论】:

  • 是的,这是正确的方法,你遇到什么问题了吗?
  • 问题是我要从许多投标中删除标签,而不仅仅是一个。 .remove() 是否适用于许多出价?
  • 基于它的工作文档

标签: django django-taggit django-tagging


【解决方案1】:

不,你不能这样做。 在您的示例中,bids 是一个查询集,而属性 tags 在查询集上不可用。

您在类Bid 上定义了属性tags,因此它可用于Bid 的任何实例。但是,它在查询集上不可用。

在您的示例中删除所有出价的标签 delicious

for bid in bids:
    bid.tags.remove("delicious")

【讨论】:

    猜你喜欢
    • 2019-03-12
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    相关资源
    最近更新 更多