ユーザー名の代わりに電子メールでトークンベースの認証を処理するために、独自のシリアライザーとビューを実装しようとしています。 GetsAuthTokenビューをコピーすると、 Token
オブジェクトにobjects
属性がないというエラーが返されます。
mkdir restframework
cd restframework/
virtualenv env
source env/bin/activate
pip install django
pip install djangorestframework
django-admin startproject tutorial
cd tutorial
python manage.py shell
## Expected behavior
Token class can query objects
## Actual behavior
python 3.6.5(v3.6.5:f59c0932b4、2018年3月28日、03:03:55)
[GCC 4.2.1(Apple Inc.ビルド5666)(ドット3)]ダーウィン
詳細については、「help」、「copyright」、「credits」、または「license」と入力してください。
(InteractiveConsole)
rest_framework.authtoken.modelsからトークンをインポートします
Token.objects.all()
トレースバック(最後の最後の呼び出し):
ファイル ""、1行目、
AttributeError:タイプオブジェクト 'トークン'には属性 'オブジェクト'がありません
`` `
このクラス(djangoモデル)はobjects
属性を使用してクエリできるはずですが、そうではありませんか?
これは、設定のINSTALLED_APPS
に認証トークンを追加しなかったためです。
編集: INSTALLED_APPS
にない場合は、抽象的であり、デフォルトのマネージャー( objects
)がありません。
@xordoquyありがとうございます!
settings.pyのINSTALLED_APPSリストに'rest_framework.authtoken'
を追加します
最も参考になるコメント
これは、設定の
INSTALLED_APPS
に認証トークンを追加しなかったためです。編集:
INSTALLED_APPS
にない場合は、抽象的であり、デフォルトのマネージャー(objects
)がありません。