Надежный доступ к request.user в Django custom LoginView

У меня есть пользовательский LoginView, и я хотел бы взять корзину пользователя LazyUser до входа в систему и объединить ее с корзиной пользователя после входа:

class LoginView(FormView): ...

def form_valid(self, form):
    request_user = self.request.user

    user = authenticate(email=form.cleaned_data['email'], password=form.cleaned_data['password'])

    if user is not None:
        login(self.request, user)
        try:
            user.consolidate_carts(request_user)
        except Exception as e:
            print('error in consolidate_carts: ', e)
        
        return HttpResponseRedirect(self.success_url)

    else:
        return render(self.request, 'users/login.html')

В некоторых случаях это работает, но это ненадежно - я полагаю, что это потому, что я просто ссылаюсь на self.request.user, а это SimpleLazyObject. Какой питонический/оптимальный способ хранения данных о пользователе перед входом в систему?

Вернуться на верх