0

У меня есть две модели Страна и адрес, соответственно я создал два сериализаторов CountrySerializer и AddressSerializerобновление() в classserializer не принимает входной сигнал от почтальона

class CountrySerializer(serializers.ModelSerializer): 
    country = serializers.ReadOnlyField(source='country.name') 

    class Meta: 
     model = Country 
     fields = '__all__' 


class AddressSerializer(serializers.ModelSerializer): 
    country = CountrySerializer(many=True) 

    class Meta: 
     model = Address 
     fields = '__all__'` 


class Country(models.Model): 
     name = models.CharField(max_length=255) 

def __str__(self): 
    return "%s" % self.name 

class Address(models.Model): 
     street_address = models.TextField(default=None) 
     country = models.ForeignKey(Country) 

Теперь я хочу, чтобы обновить AddressSerializer, когда я использую PUT метод в Postman с полевой страной он не принимает входных данных, вместо этого он обновляет существующую страну, а не новый вход, может ли кто-нибудь помочь мне в этом? Заранее спасибо

+1

Почему вы сохранили страну как readonlyfield в CountrySerializer? – Darshan

+0

если я удалю, то только id отображается в моем Json – sourabhah

+0

@sourabhah вы можете обновить свой вопрос с помощью просмотров и моделей –

ответ

0

Если вы хотите добавить новую запись, вы должны использовать метод POST.

+0

Привет, alex, я хочу обновить AddressSerializer. – sourabhah

+0

Похоже, я неправильно понял вопрос. Вы хотите обновить сериализатор адресов, вы поместили в него данные, но вместо того, чтобы использовать входные данные, он обновляет что? –

+0

Он обновляется с данными AddressSerializer, но не CountrySerializer – sourabhah

Смежные вопросы