계정과 사용자는 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' 필드는'Account'가 아닌'User'를 가리키고 있습니다. – dirkgroten