2017-06-01 4 views
1

こんにちは、私は新しいプロジェクトを開始していると私はdjangoの残りのユーザーを認証するために複数のテーブルを使用するには?

は、私が知っているユーザー(CustomUserモデル)とベンダー(ベンダーモデル)ごとに1つのテーブルを作成し、ベンダーモデルからCustomeUserモデルとベンダーからユーザーを認証する必要があり、我々AUTH_USER_MODELを使用して、デフォルトのユーザー・モデルを変更するが、私はどのような方法があり、これを行うか、どんな提案を持っている場合は、ユーザーの二つの異なるタイプのために2つの異なるテーブルを使用し、それらに

を認証する必要がありますすることができます私はあなたをお勧めし

+0

認証のみの基本クラスと、ユーザータイプに基づいてデータを取得する2つの異なるクラスを作成することをお勧めします。 – itmard

答えて

4

教えてください1つの認証モデルのみを保持し、my_user_typeを使用して、ベンダー以外のユーザーロールとそれぞれのベンダーおよびcus_usを決定することができますフィールド

class User(AbstractUser): 
     vendor = models.ForeignKey(Vndor, null=True, blank=True, related_name='referral')    
     cus_user = models.ForeignKey(CustomUser, null=True, blank=True, related_name='referral') 
     USERTYPE= (
      ('v', 'Vendor'), 
      ('u', 'User'), 
     )  
     my_user_type = models.CharField(choices=USERTYPE, max_length=2, null=True, blank=True) 
     enter code here 
関連する問題