2016-09-25 6 views
0

장고에 다중 사용자 응용 프로그램을 만들고 있습니다. 여기에서 "거주자"(고유 사용자 모델, 입주자 모델, 입주자 세부 정보) 그리고 "username"과 같은 것 - unique_together = ("username", "tenant") 또는 그 다양성. 그럴 가능성이 있습니까?고유 한 togethr - 임차인 및 사용자 이름이있는 장고 사용자 정의 사용자 모델

+0

예 가능합니다. 아마 이메일을 고유하게 만들 수도 있습니다 (이메일을 추가하는 경우). –

+0

프랑수아 xxxx !!! 나는 노력하고 있지만 작동하지 않습니다. 테넌트 A가 이미 등록되어있는 사용자 이름 A를 말합니다. 세입자 B가 등록을 시도하면서 다른 사용자 이름 A를 시도하고 있습니다 ... 장고가 동의하지 않습니다. 내 사용자 모델은 AbstractUser에서 파생됩니다.이 모델에서는 고유 한이 제약 조건을 조합했습니다.이 작업을 수행하면 전자 메일에서도 동일한 작업을 수행 할 수 있습니다. – SG2791

+0

사용자 이름에 고유 한 제약이있을 가능성이 높으므로 사용자 이름 A를 두 번 추가 할 수 없습니다. 한 가지 해결 방법은 many to many 관계를 가지며 통과 테이블에 제약 조건을 추가하는 것입니다. – karthikr

답변

0

장고 사용자 모델은 "사용자 이름"그러므로 나는 그런 내가 당신이 그렇게하기 위해서는

독특한 유지하려는 생각 "이메일"로 이름을 대체 할 다른 필드를 사용하는 것이 좋습니다 것, 고유 필요 사용자 모델을 덮어 쓰고 사용자 이름 필드를 변경해야합니다.

USERNAME_FIELD = 'email'

+0

은이 사용자 이름 제약 조건을 무시할 수있는 해킹이 없습니다. 다른 옵션은 사용자 이름을 자동 생성하는 것입니다. 세입자 이름이 A이고 사용자 이름이 A1, A2 ... 등으로 자동 생성됩니다. 그러나 이것이 내가 원하는 마지막 옵션입니다. – SG2791

+0

미안하지만 아니야, AbstractBaseUser, PermissionsMixin을 상속받은 사용자 정의 사용자 모델을 생성해야합니다. – segalle

+0

다음을 사용하십시오 : https : //docs.djangoproject.com/en/1.10/topics/auth/customizing/#custom-users-and-proxy - 모델 – segalle