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)
    ...

Я хотел бы получить данные с двумя смешанными моделями следующим образом. Нам также нужно выполнить некоторую сортировку и т.д. Как я должен описать набор запросов?

[
  {
    "title": "",
    "image_url": {},
    "sample_image_url": {},
    "sample_movie_url": "",
    "review": {}
  },
  {
    "title": "",
    "thumbnail_url": "",
    "preview_url": "",
    "tags": [
      {}
    ]
  }
  ...
]

Также, в этом случае для DRF Serializer можно указать только одну Модель, но как можно Можно ли задать две Модели для Сериализатора?

class Video_UserVivdeo_Serializer(serializers.ModelSerializer):
    class Meta:
        model = #Video, UserVideo ?
        fields = '__all__'

Используя FlatMultipleModelAPIView в django-rest-multiple-models я думаю, я могу сделать то, что я хотел сделать.

Не уверен, что это лучший вариант.

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