ビューセットで更新方法をテストしようとしています。ビューセットは、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 テスト クライアントに正しく渡す方法を知る必要があります。