Как отобразить несколько фотографий через API
models.py
class UserRoom(models.Model):
objects = None
categoty = [
('President Lux', 'President Lux'),
('Lux', 'Lux'),
('Double', 'Double'),
('Standard', 'Standard'),
]
name = models.CharField(max_length=150, choices=categoty, verbose_name='Категория')
room_num = models.CharField(max_length=150)
about = models.TextField(verbose_name='Подробности')
price = models.IntegerField(verbose_name='Цена')
img360 = models.FileField(verbose_name='Фотография в 360')
class Meta:
verbose_name = 'Номер (About)'
verbose_name_plural = 'Номера (About)'
class UserImg(models.Model):
name = models.ForeignKey(UserRoom, on_delete=models.CASCADE, verbose_name='img2')
img = models.FileField(upload_to='User img', verbose_name='Фотография')
как написать в serializers.py так, чтобы отображались все данные из базы данных?
как написать в serializers.py чтобы отображались все данные из базы? сейчас когда я подключаю serializers.py он отображает либо только первую модель, либо картинки из второй и ID прикрепленной модели
class UserRoomSer(ModelSerializer):
class Meta:
model = UserRoom
fields = '__all__'
class UserImgSer(ModelSerializer):
class Meta:
model = UserImg
fields = '__all__'
class UserRoomSer(ModelSerializer):
images = serializers.RelatedField(
many=True, queryset=UserImg.objects.all())
class Meta:
model = UserRoom
fields = [
'name', 'room_num', 'about', 'price',
'img360', 'images',
]
Просто создайте сериализатор, как указано выше, он создаст json следующим образом
{
"images": [
{
"name": "",
"img": ""
},
{
"name": "",
"img": ""
}
],
"name": "",
"room_num": "",
"about": "",
"price": "",
"img360": ""
}