2

私のrest_framework設定で、SessionAuthenticationをデフォルトの認証クラスとして設定しました

'DEFAULT_AUTHENTICATION_CLASSES': (
    'rest_framework.authentication.SessionAuthentication',
)

問題は、私の User DELETE api ビューが存在しない authtoken_token テーブルで削除を折りたたもうとし (必要がないため)、データベース例外が発生することです。

特に、obj.delete() が DestroyModelMixin.destroy で呼び出されると、次の例外が発生します。

DatabaseError: relation "authtoken_token" does not exist
LINE 1: ...oken"."user_id", "authtoken_token"."created" FROM "authtoken...

必要がなくても、rest_framework のモデルを syncdb する必要がありますか?

authtoken.models を含めずに SessionAuthentication を使用する方法はありますか?

私は何か間違ったことをしていますか?

(rest_framework/authentication.py から authtoken.models.Token を完全に削除すると、問題が解決するようです)

4

1 に答える 1

1

根本的な原因はここにあります...

https://code.djangoproject.com/ticket/19422

それまでの間、回避策を整理します。おそらく、 が にTokenない限り、どこにもインポートされないようにするだけrest_framework.authtokenですINSTALLED_APPS

于 2013-03-06T17:51:02.953 に答える