複数のプロファイルでDjangoのユーザ認証機能を使用することはできますか?Djangoに複数のプロフィールがありますか?
現在、私はそれでこれを持っているsettings.pyファイルがあります:ユーザーならば、
from django.db import models
from django.contrib.auth.models import User
class UserProfileA(models.Model):
company = models.CharField(max_length=30)
user = models.ForeignKey(User, unique=True)
その方法:
AUTH_PROFILE_MODULE = 'auth.UserProfileA'
とそれにこれを持っているmodels.pyファイルをログインすると、ユーザーにget_profile()メソッドがあるので、簡単にプロファイルを取得できます。しかし、私はUserProfileBを追加したいと思います。ちょっと見てみると、AUTH_PROFILE_MODULEとして使用するスーパークラスを作成し、そのスーパークラスからUserProfileAとUserProfileBの両方を継承することが出発点であるようです。問題は、get_profile()メソッドが正しいプロファイルを返すとは思わないということです。スーパークラスのインスタンスを返します。私はJavaのバックグラウンド(多型性)から来ているので、何をすべきか正確には分かりません。
ありがとうございます!
編集:
まあ、私はそれが本当によく、しかし、Javaの背景どこから来た作品このサイトhttp://djangosnippets.org/snippets/1031/
で発見「継承ハック」と呼ばれるものを経由して、それを行う方法を見つけましたこのことは自動的に起こります。私は、誰かがこれをコード化し、Pythonでそれを行うための "ハック"と呼ばなければならないという事実によって、少し不安です。なぜPythonがこれを有効にしないのでしょうか?
私は同じ問題があります。私はちょうどあなたがあなたの 'AUTH_PROFILE_MODULE'をどこに置きましたかと思っています。 – Modelesq