私は2つのモデルのアカウントとユーザーがあります。アカウントは複数のユーザーを持つことができます。Djangoフォーム保存 - 循環依存
最初のユーザー(所有者)が同時に作成されると、アカウントが作成されます。
ユーザーには、アカウントに外部キーがあるので、まずアカウントを作成し、ユーザーの後にする必要があります。
アカウントには、request.userというフィールドcreated_byがあります。円形の問題もそうです。
アカウントとcreated_byを作成してスーパーユーザー(最初)にし、ユーザーを作成し、新しいユーザーでアカウントを更新する必要があると思います。
class Account(MetaData):
name = models.CharField(max_length=255)
created_by = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True,
related_name='%(app_label)s_%(class)s_created_by', on_delete=models.CASCADE)
class User(AbstractBaseUser):
account = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True, related_name='owner')
どうすればいいですか?
最初のユーザーには初めてこれが必要です。これは、他のユーザーに対してはアカウントが存在するためです。
私は最初のユーザーと言っていますが、私はスタッフのユーザー(スーパーユーザー)ではなく、アカウントを必須とする通常のユーザーを登録フォームといいます。
blank=True
は、スタッフ専用です。
だけ上記のコードでは、 'AUTH_USER_MODEL'が' User'であると仮定すると 'User'モデルの' account'フィールドは 'User'(' Account'ではなく)を指しています。 – dirkgroten