繁体   English   中英

如何获取标签为列表Django-taggit中标签的子集的所有对象

[英]How to get all the objects whose tags are subset of tags in list Django-taggit

我正在使用django-taggit进行标记。

class Taggedwebsites(TaggedItemBase):
  content_object = models.ForeignKey('website')

class website(models.Model):
      tags=TaggableManager(through=Taggedwebsites,blank=True)

现在,我希望所有其标签是标签列表超集的网站都可以动态提供。

例如,

tag_list=['python','django','database']

然后,我要所有必须至少具有这三个集合的网站对象。

result=website.objects.filter(tags__name_on=tag_list).distinct()

不起作用,因为它不提供其标签是tag_list的超集的对象。

如何在过滤器中执行此查询?

在查询“ tags__name_on”中,“ on”一词未在django中定义,应改为使用in。 如果您希望对象的对象必须至少具有这三个集合,则应使用“ in”参数。 这是querysets的文档:docs.djangoproject.com/en/1.8/ref/models/querysets/#in

尝试:

result=website.objects.filter(tags__name__in=tag_list).distinct()

要么:

result=website.objects.distinct(tags__name__in=tag_list)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM