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 я думаю, я могу сделать то, что я хотел сделать.
Не уверен, что это лучший вариант.