ユーザー(本の所有者)への外部キーを持つ Book モデルがあります。
class Book(models.Model):
owner = models.ForiegnKey(User)
...
ログインしたユーザーが所有する書籍を表示する Book の ModelViewSet を作成しました。
class BookViewSet(viewsets.ModelViewSet):
model = Book
serializer_class = BookSerializer
def get_queryset(self):
return Book.objects.filter(owner=self.request.user)
新しい本を作成するために、残りのクライアントから送信されたデータではなく、ユーザー フィールドを request.user で保存します (セキュリティを強化するため)。例えば:
def create(self, request, *args, **kwargs):
request.DATA['user'] = request.user
... (some code to create new Book from request.DATA using serialize class)
しかし、このエラーが発生しました:この QueryDict インスタンスは不変です。( request.DATA は不変の QueryDict であり、変更できないことを意味します)
django rest フレームワークでオブジェクトを作成するときにフィールドを追加するより良い方法を知っていますか?