Модельное имя объектов в кверисете django vews.py

Я пытаюсь использовать пакет django-taggit для нескольких приложений на сайте. У меня есть две модели с тегами: Статья, Новости (на самом деле, больше, но это не имеет значения).

class TagListView(TagMixin, ListView):
    model = News, Article

    def get_queryset(self, **kwargs):
        my_tag = get_object_or_404(Tag, slug=self.kwargs['tag'])
        news = News.objects.filter(tags__in=[my_tag]).filter(is_published=True)
        articles = Article.objects.filter(tags__in=[my_tag]).filter(is_published=True)
        queryset = list(chain(news, articles))
        return queryset

В моем шаблоне я хочу знать, к какой модели принадлежат мои объекты, чтобы обрабатывать их по-разному. Правильным местом для этого было бы добавить функцию 'content_type' к моим объектам в queryset в моем views.py. Я представляю себе что-то вроде этого:

news = News.objects.filter(tags__in=[my_tag]).filter(is_published=True).select_related('django_content_type')
articles = Article.objects.filter(tags__in=[my_tag]).filter(is_published=True).select_related('django_content_type')

Однако, мои модели (новости, статьи) не связаны явно с моделью 'django_content_type'.

Пожалуйста, кто-нибудь помогите мне, я застрял!

P. S. Я знаю, что правильным способом сделать это было бы использование общих ключей, но я не знаю, как с ними работать. Если кто-то научит меня, как преобразовать мой пример таким образом, это будет также здорово.

Вернуться на верх