2014-06-18 22 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