Сериализатор get RelatedField - PullRequest
0 голосов
/ 25 сентября 2018

Ниже приведен код моего класса serializers.py и model.py

serializers.py

class SliderImageSerializers(serializers.ModelSerializer):
    class Meta:
        model=SliderImage
        fields='url','rank'

class ItemVariationsSerializer(serializers.ModelSerializer):
    # items = ItemsSerializer(many=True, read_only=True)
    class Meta:
        model = ItemVariation
        fields ='price','item_code','image'

class RestaurantSerializers(serializers.ModelSerializer):
    items = ItemVariationsSerializer(many=True, read_only=True)
    sliders = SliderImageSerializers(many=True, read_only=True)
    class Meta:
        model=Restaurant
        fields=('__all__')

models.py

class ItemVariation(models.Model):
    restaurant=models.ForeignKey(Restaurant,on_delete=models.CASCADE)
    item=models.ForeignKey(Item,on_delete=models.CASCADE)
    price=models.IntegerField(blank=True,null=True,default=0)
    item_code=models.CharField(max_length=500)
    keyword= models.ManyToManyField(Keyword)
    image=models.ImageField(upload_to='dishes/', blank=True, null=True)

    def __str__(self):
        return str(self.id)

Ниже приведен ответ, который я получил

ответ:

{
    "id": 1,
    "sliders": [
        {
            "url": "/media/restaurant/download_2.jpeg",
            "rank": 1
        }
    ],
    "name": "Haveli",
    "email": "test@tet.com",
    "web": "wdew",
    "short_description": "dsfsdf",
    "description": "fsdfsd",
    "phone": 21315,
    "lat": 30.704649,
    "lng": 76.717873,
    "address1": "dsff",
    "address2": "vfdg",
    "city": "sdfds",
    "state": "fs",
    "postalcode": "sdfsd",
    "avg_rating": 1,
    "price": 0,
    "restaurant_type": 1,
    "keywords": [
        1,
        2,
        3
    ]
}

Мне нужно добавить ItemVariationsSerializer к RestaurantSerializer ответ

но мне нужен ответ, как показано ниже

{"id": 1,"ползунки": [{"url": "/media/restaurant/download_2.jpeg","ранг": 1}],"имя": "Хавели",«электронная почта»: «test@tet.com»,"Предметы":[{"Цена": "213""ITEM_CODE": "testr"}]"ключевые слова": [1,2,3]}

Мне нужна ваша помощь, чтобы получить необходимый ответ.Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...