2012-03-30 3 views
2

タイトルは似ていますが、私の要件を満たしておらず、ユーザーが非常に異なっているため、異なる役割だけがうまくいかない可能性があります。 。私は仕事ポータルのシナリオを持っています。あるタイプのユーザーは異なる属性の異なる機能を持つ会社ですが、他のユーザーは彼のプロフィールを表示してe.t.cを再開できる候補者です。異なるURLを持っています。だから彼らはまったく違っていますが、共通のことは彼らが両方とも登録ユーザーであるということです。彼らはログインフォームを使用するでしょう、彼らはパスワードを変更するだろうと私はその目的のためにUserクラスを使用するつもりです。djangoで複数のタイプのメンバープロファイルを持つ方が良いです

私が直面している実際の問題は約UserProfileクラスの使用です。 UserProfileはプロファイル用ですが、私の場合、これらの2人のユーザはまったく違っていて、プロフィールには多くの異なるものが必要です。また、私は将来的にシステムにユーザータイプを追加する予定です。ジャンゴでは、我々は、プロファイルについて教えてくれますがsettings.py

AUTH_PROFILE_MODULE = ‘accounts.userprofile’ 

にこの単一のモデルを追加することであるので、ジャンゴでの継承や抽象クラスのいくつかの並べ替えやそのので、いくつかの他の方法を使用してこれを行う方法はあります私は意図した機能を得ることができ、django Profilesを使用することができますか?

答えて

2

編集:確認したら、私の以前の回答は明らかに機能しません。

私はUserProfileクラスを抽象化することを提唱していました。しかし、それを行うとインスタンス化できないので、正方形に戻ります。

しかし、マルチテーブルの継承を使用して、必要なものを達成することができます。ドキュメントのthisとその冒険を提供したQuora threadを参照してください。

Metaサブクラスと抽象変数を除いて、以前に投稿したコードはほとんど変わりません。

class UserProfile(models.Model): 
    # Some Stuff 

class CompanyProfile(UserProfile): 
    # Some more stuff 

class CandidateProfile(UserProfile): 
    # Even more stuff 
+0

私はsettings.pyで 'AUTH_PROFILE_MODULE'に何を設定すれば、他のdjangoアプリケーションは' UserProfile'クラスと対話するときにこれらのプロファイルクラスを使用できますか? – Hafiz

+0

@Hafiz UserProfileを設定し、異なるタイプを処理するためにビューにロジックを挿入します。しかし、私がそれを大きく編集したので、私の答えを読み返してください。私が最初に提案した解決策は*働かない*でしょう。新しいものが必要です。 – Todd

+0

問題は、get_profile()が機能しないことです。 – alan

関連する問題