2014-02-25 2 views
17

, 나는 코드의이 비트를 건너 왔어요 :모델 메타에서 "스왑 가능"이란 무엇입니까? 힘든 장고 인증 모델 코드를 찾고

class User(AbstractUser): 
    class Meta(AbstractUser.Meta): 
     swappable = 'AUTH_USER_MODEL' 

그것은 settings.py의 새로운 AUTH_USER_MODEL 설정을 함께 할 수있는 뭔가가 분명하지만 실제로으로 어떻게 작동 하는가 파이썬 "트릭"은 무엇입니까?

그리고 다른 상황에서 사용할 수 있습니까?

답변

19

스왑 가능은 현재 개발 중이거나 시험중인 "의도적으로 문서화되지 않은"기능입니다. 그것은 "나는 일부 외래 키 관계가있는 기본 추상 모델을 가지고있다."를 처리하는 데 사용됩니다. 약간 자세한 내용은 Django's ticketing systemgithub에서 얻을 수 있습니다. "스텔스 알파"기능이기 때문에 작동하지 않을 수도 있습니다 (사용자가 아닌 다른 것). 세부 작업을 이해하려면 소스 코드로 다이빙해야 할 가능성이 큽니다. 사용자 모델 및 스왑 가능 플래그가 함께 개발 되었기 때문에 AUTH_USER_MODEL과 함께 작동합니다.

2

장고 1.5 스왑 사용자 모델을 추가, 그래서 당신은 당신의 자신의 하나 (문자의 수를 제한 식별자로 이메일을 사용 ...)

더 장고 사용자 모델을 대체 할 수 https://docs.djangoproject.com/en/dev/releases/1.5/#configurable-user-model https://docs.djangoproject.com/en/dev/topics/auth/customizing/#auth-custom-user

+0

죄송합니다. 나는이 질문에서 더 분명해야했습니다. 예, 나는 무엇이위한 것 같았습니다. 내 질문은 실제로 어떻게 그걸 꺼내는거야? – frnhr