저는 SAAS를 개발하고 있으며 내 머리를 감싸는 데 열심히 노력하면서 왜 자신이 아닌 다른 사용자에게도 "사용자"를 사용해야 할 필요가 있습니다. 왜 그런지는 모르겠지만 전체 소프트웨어의 개발자/관리자로서 Django 관리자의 액세스 권한 (Sauron의 눈과 같음)과 동일한 유형의 사용자 객체가 "Account "소유자의"UserProfile "이 있습니다. 왜 이것이 필요한지 이해하도록 도와주세요.Django : 사용자 정의 AUTH 시스템을 사용하면 왜 사용자 모델이 항상 필요합니까?
예 : 내 계정 소유자 '사용자'기능을 내장 관리 기능을 어울 것 같은
class Account(models.Model): # represents copporate customer
admin = models.ForeignKey(User)
# other fields ...
class UserProfile(models.Model):
user = models.ForeignKey(User)
account = models.ForeignKey(Account)
느낀다. 이것은 request.user 등의 요소를 재사용하기위한 목적인가요?
@Andy Hume 사용자 이름, 이름, 성, 전자 메일, 암호, is_staff, is_active, is_superuser 등 모든 속성은 어떻습니까? 사용자를 만들 때이 모든 것을 사용해야합니까? 나는이 모든 속성들이 내 시스템에 어떻게 들어갈 수 있는지 이해하는 데 어려움을 겪고 있다고 생각한다. 이러한 속성을 모두 사용해야합니까? is_superuser = True가 아니라면 www.example.com/admin/을 입력하면 모든 액세스 권한이 부여됩니다. 나는 Django-Annoying을 보았고 AutoOneToOneField()를 사용하여 사용자를 생성했지만 모든 속성을 설정하는 것은 어떨까요? – orokusaki
확실히 모든 속성을 사용할 필요는 없습니다. 특정 유형의 사용자가 수행 할 수있는 작업에 따라 알맞은 수 또는 적게 노출 할 수 있습니다. 예, is_superuser = True는 자신과 자신에게만 필요한 것이고, 필요로하는 몇 가지 매우 특권이 있어야합니다. '일반'사용자는 False로 설정합니다. 필요할 경우 OneToOneField를 통해 모든 속성을 설정할 수 있습니다. profile.user.last_name = "존스" –