2014-06-18 2 views
0

사용자 모델 .save()에서 현재 세션에 액세스 할 수 있습니까? 내가 무엇을 달성하고자하는의사용자 모델의 세션 액세스 .save()

의사 코드 :

# users.models.py 
def save(self, *args, **kwargs): 
    created = True 
    if self.pk: 
     created = False 

    super(AbstractUser, self).save(*args, **kwargs) 

    # post-save 

    if created: 
     look_for_invite_in_session_and_register_if_found(self, session) 

답변

1

그것을 아키텍처의 잘못을 보인다. 모델 레이어에서 요청에 액세스하면 안됩니다. 요청이있는 모든 작업은보기에서 완료해야합니다. 당신은 이것을 다음과 같이 할 수 있습니다 :

user, created = AbstractUser.objects.get_or_create(name=name) 
if created: 
    look_for_invite_in_session_and_register_if_found(user, request.session) 
+0

저는 인증을 위해 all-auth를 사용하고 있습니다. 그래서 나는 사용자 생성 흐름에 대해 완전한 제어권을 가지고 있지 않습니다. 현재 미팅에 초대 된 사용자를 연결하는 방법을 찾고 있습니다. – SverkerSbrg

관련 문제