私はDjango
プロジェクトに取り組んでいます。ユーザーには2種類あります。最初のタイプ - 顧客(UserProfile)はUser
の拡張ビルトインです。電話、アドレスなどが格納されている必要があります。Translator
という別のタイプのUser
があります。Djangoで2レベルのユーザー拡張
class UserProfile(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE,related_name='userprofile')
telephone = models.CharField(max_length=40,null=True)
...
、私は:私はUserProfile
を処理するために、おそらく最も一般的な方法を選択したなど
をLanguages
、Prices
- 翻訳者は、すべての権限を持ち、顧客(のUserProfile)などの属性と、いくつかの新しい属性Customer
のプロフィールを作成します。 User
(すべてのユーザーはすでにUserProfile
です)を拡張するか、UserProfile
を拡張するかどうかは決めることができません。
だから、オプションAは次のとおりです。
class TranslatorUserProfile(models.Model):
user_profile = models.OneToOneField(User)
languages ...
...
とオプションBは次のとおりです。
class TranslatorUserProfile(models.Model):
user_profile = models.OneToOneField(UserProfile)
languages ...
...
翻訳は、より多くのページにアクセスすることができますUserProfile
で、もちろんそれ以上になりますどのUser
定期属性。
パターンはありますか?私は何をすべきか?
複数のユーザータイプではなく、グループを使用してカスタムのアクセス許可を設定することについて考えましたか? –