Как получить пользовательские теги django-taggit в представлении
Я пытаюсь заставить две категории тегов работать с помощью django-taggit на одной модели. Все вроде бы работает правильно в админке, но я не могу понять, как написать представление, которое позволит мне использовать две категории тегов.
class Photo(models.Model):
title = models.CharField(max_length=64)
description = models.CharField(max_length=255)
created = models.DateTimeField(auto_now_add=True)
image = models.ImageField(upload_to='photos/')
submitter = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
year = models.ManyToManyField(Year, blank=True)
people = TaggableManager(through=TaggedPeople, verbose_name='People')
tags = TaggableManager(through=TaggedGeneric, verbose_name='Tags')
def __str__(self):
return self.title
Тогда, с моей точки зрения, у меня
class PhotoListView(ListView):
model = Photo
template_name = 'photoapp/list.html'
context_object_name = 'photos'
class PhotoTagListView(PhotoListView):
template_name = 'photoapp/taglist.html'
def get_tag(self):
return self.kwargs.get('tag')
def get_queryset(self):
return self.model.objects.filter(tags__slug=self.get_tag())
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["tag"] = self.get_tag()
context["tags"] = GenericTag.objects.all().order_by('name')
context["people"] = PeopleTag.objects.all().order_by('name')
return context
Тег "tag" работает правильно. Как заставить тег "people tag" работать с шаблоном для отображения всех фотографий с определенным человеком?