モデルを更新しようとすると、シリアライザにpkフィールドが含まれません。 私のシリアライザは、以下のようになります。私はhttp.get呼び出しから私の本を取得するとDjango Rest Framework ModelSerializer pkフィールドが更新時に存在しない
class BookSerializer(serializers.ModelSerializer):
pages = PageSerializer(many=True)
class Meta:
model = Book
fields = ('pk', 'tite', 'pages')
、件のデータがPKキーが含まれています。しかし、http.putメソッドでこのデータを投稿すると、シリアライザのvalidated_dataにキャッチされたデータにはpkフィールドが含まれません。このシリアライザを各シリアライザに定義する必要がありますか?私はDRF 3がデフォルトでそれを行うべきですが。
を更新しているIDとオブジェクトの他のすべての値は、私はネストされたフィールドをudpdateしたい場合は続行するが、別の方法ですか? – Ben
なぜでしょうか?ネストされたシリアライザで[extra_kwargs](http://www.django-rest-framework.org/api-guide/serializers/#additional-keyword-arguments)を使用するのは非常に簡単です。 – Linovia
ええ、私たちはupdate pkを望んでいませんが、pkを読むことができ、オブジェクトのidが分かります。 –