Возврат данных из поля модели в виде списка словарей
Пишу диплом...
Вообщем есть фронт который ждет по API данные в определенном формате. Конкретно поле Images модели Product фронт ждет вот в таком виде:
У меня пока получается просто словарь:
"images": {
"src": "/media/pictures/toshiba_bbeea483ddb65e43a2c74c39ad7e96a7.png",
"alt": "2"
},
Вот модели:
class ProductImage(models.Model):
src = models.ImageField(
upload_to='pictures',
default='pictures/1.PNG',
verbose_name="Ссылка",
null=True,
)
alt = models.CharField(max_length=128, verbose_name="Описание")
class Product(models.Model):
images = models.ForeignKey(
ProductImage,
on_delete=models.CASCADE,
related_name="images",
verbose_name="Фото продукта",
null=True,
)
И сериализаторы:
class ProductImageSerializer(serializers.ModelSerializer):
src = serializers.SerializerMethodField()
class Meta:
model = ProductImage
fields = ['src', 'alt']
def get_src(self, obj):
return obj.src.url
class ProductSerializer(serializers.ModelSerializer):
images = ProductImageSerializer()
class Meta:
model = Product
fields = '__all__'
На этом у меня идеи закончились, подскажите пожалуйста как привести данные в нужный формат?
Источник: Stack Overflow на русском