2017-02-07 12 views
1

私はDjangoで既存のデータベースを作成したユーザーと一緒に使用するアプリを開発しています。 自分のデータベース設定パラメータをPostgreSQLサーバに設定しました。私は "connections"ライブラリを通してカスタムクエリを実行します。カスタムDjangoバックエンドの使い方は?

問題は、自分のテーブルを使用してユーザーを認証するときに発生します。多くのチュートリアルやブログ記事を見て、認証バックエンドを書き直しました。しかし、自分のテーブルを使ってユーザを認証し、セッションを設定する場合、DjangoのフレームワークではUserオブジェクトしか使用できません。

私はこれらのオブジェクトがデータベース内のDjangoテーブルにリンクされていると思います。ユーザーを認証したいときに、関係 "auth_user"が存在しないというメッセージが表示されます。これは、Userオブジェクトがこのテーブルにリンクされていることを意味します。

Django認証バックエンドで独自のテーブルを使用する方法がありますか、それとも使用する必要がありますか?

答えて

1

既存のDjangoのログインバックエンド

AUTH_USER_MODEL = 'myapp.MyUser'

Django docs

AUTHENTICATION_BACKENDS = 'myBackend'

カスタムDjangoの認証バックエンドを使用するにしてカスタムDjangoのモデルを使用するには

Django docs

+0

私は自分でそれを発見しましたが、私が望むほど柔軟ではありません。実際には、AUTH_USER_MODEL = 'myUser'をフィールドemailで指定すると、パスワード。データベースでDjangoはid、last_login、email、passwordの各フィールドを持つテーブルを作成します。私がしたいのはidとlast_loginで、電子メールを主キーとして設定します。 @iklinacあなたの答えは正しかったが、私は自分のアプリのその面を修正しようとしている。なにか提案を? – Marco

関連する問題