0
私は2つのDjangoのモデル(簡体字)持っている:私は基本的なModelSerializersを使用し、両方のモデルのジャンゴ休憩フレームワーク:部分的な更新(PATCH)と外部キー
class Author(models.Model):
name = models.CharField()
class Book(models.Model):
author = models.ForeignKey(Author)
title = models.CharField()
を:
class AuthorSerializer(serializers.ModelSerializer):
class Meta:
model = models.Author
fields = '__all__'
[similar code for BookSerializer]
最後に、私は」基本的なModelViewSetsを実装しました:
class AuthorViewSet(viewsets.ModelViewSet):
queryset = models.Author.objects.all()
serializer_class = serializers.AuthorSerializer
[similar code for BookViewSet]
今、私は既存の本を部分的に更新しています 変化する。
PATCH /api/v1/book/1/
JSON data: {'title': 'Lord of the Flies'}
私はこのエラーが表示されます。
HTTP 400 Bad Request
Allow: GET, PUT, PATCH, DELETE, OPTIONS
Content-Type: application/json
Vary: Accept
{
"author": [
"This field is required."
]
}
は、私は、これは「作者」はFKであるという事実とは何かを持っていると仮定します。しかし、私はDRFがBookオブジェクトの関係をそのまま維持し、タイトルを更新するだけでこれを処理すると考えています。
私はドキュメントやウェブ上の他の場所でこれについて何も見つかりません。私は何かを欠いているに違いない?
私はPATCHを使用していますが、それはポイントの一種です... – Rik
あなたのコードに何かがあるかもしれないし、これが起こらないようにペーストしていないかもしれません。私はパッチを使っている間にこれを見たことを覚えていません。 – Linovia
あなたはそうです。判明したように、私が書いたビューミックスにはバグがありました。 – Rik