Я использую 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.
Как выполнить этот запрос в фильтре?
Пожалуйста, объясните эти решения (и их различия) на английском языке. Благодарю. – jpaugh
ok, у него есть не заданный запрос "tags__name_on" слово 'on' не определено в django, вы должны использовать вместо него. он хочет объекты с объектами, которые должны иметь по крайней мере эти три набора, он должен использовать параметр «in». вот документация для запросов: https://docs.djangoproject.com/en/1.8/ref/models/querysets/#in – Hetdev
Спасибо за объяснение. Тем не менее, я пытался сказать, что вы должны улучшить ответ, чтобы объяснить, как работает решение. Это делает ваш ответ более понятным и может сделать его полезным для большего количества людей, чем только оригинальный плакат. Благодарю. – jpaugh