2017-02-17 12 views
0

から入力を取っていない私は2つのモデル国と住所を持っている、 に応じて私は2つのシリアライザ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) 

を作成している私はPUTメソッドを使用するときに、今私は、AddressSerializerを更新したいですフィールド国の郵便配達員は入力を受けず、代わりに既存の国を更新し、新しい入力を更新しません。 ありがとうございました

+1

なぜCountrySerializerでreadonlyfieldとして国を維持しましたか? – Darshan

+0

私が削除したIDが私のJsonに表示されている場合 – sourabhah

+0

@ sourabhahあなたの質問をビューとモデルで更新できるか –

答えて

0

新しいレコードを追加する場合は、代わりにPOSTメソッドを使用する必要があります。

+0

こんにちはアレックス、私はAddressSerializerを更新したいと思います。 – sourabhah

+0

私は疑問に誤解されているようです。アドレスシリアライザを更新したい場合は、データを入力しますが、入力データを使用する代わりに、何によって更新されますか? –

+0

これはAddressSerializerデータで更新されますが、CountrySerializerでは更新されません – sourabhah

関連する問題