Django, DRF: две разные модели в одном наборе запросов
Как получить следующие две модели в одном наборе запросов? Необходимо выполнить сортировку и поиск.
class Video(models.Model):
title = models.CharField(max_length=300)
image_url = JSONField()
sample_image_url = JSONField(blank=True, null=True)
sample_movie_url = models.URLField(max_length=1000, blank=True, null=True)
review = JSONField(blank=True, null=True)
...
class UserVideo(models.Model):
title = models.CharField(max_length=300)
thumbnail_url = models.URLField(max_length=1000, unique=True)
preview_url = models.URLField(max_length=1000, blank=True, null=True)
tags = models.ManyToManyField(Tag, blank=True, db_index=True)
...
Я пробовал .union(), но получаю следующую ошибку
qs = Video.objects.all()
qs2 = UserVideo.objects.all()
print(qs.union(qs2))
django.db.utils.ProgrammingError: each UNION query must have the same number of columns
При указании id в .values() объединение работает успешно, но нам нужно получить разные поля для обеих моделей.
Кроме того, поскольку мы используем DRF, нам нужен способ работы с ModelSerializer.