ビューセットで更新方法をテストしようとしています。ビューセットは、drf から取得したモデルビューセットです。更新するには、put リクエストを送信する必要があります。これは常にサポートされているとは限らないため、put リクエストを作成していることをサーバーに伝える方法は 2 つあります。最初のニーズに合わない方法は、追加のフィールドを使用して、呼び出されたフォームを作成し、_methodそれを に設定することputです。json データを投稿する必要があるため、X-HTTP-Method-Overrideヘッダーを使用する 2 番目の方法を使用する必要があります。
テストケースにデータを投稿するには、次のコードを使用します。
header = {'X_HTTP_METHOD_OVERRIDE': 'PUT'}
response = client.post('/model/1/', content_type='application/json', data=post_data_clean, **header)
しかし、残念ながら私が得る結果は{'detail':'Method POST not allowed.'}. ヘッダーも指定したアドオン ( Postman )を使用して、サーバーの動作をテストしました。X-HTTP-Method-Override例外は発生しません。ここで、ヘッダーを django テスト クライアントに正しく渡す方法を知る必要があります。