как исправить django.contrib.auth.models.AnonymousUser для пользователя - PullRequest
0 голосов
/ 07 июня 2019

Привет всем, я делаю веб-проект по электронной коммерции и пытаюсь привязать пользователя к корзинам, но у меня проблема с методом is_authenticated(), когда пользователь входит в систему, это работает, но он выходит из системы, показывает эту ошибку "ValueError: Cannot assign "<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x0000018AD88052B0>>": "cart.user" must be a "User" instance""

model.py
    def new_or_get(self, request):
        cart_id = request.session.get("cart_id", None)
        qs = self.get_queryset().filter(id=cart_id)
        if qs.count() == 1:
            new_obj = False
            cart_obj = qs.first()
            if request.user.is_authenticated() and cart_obj.user is None:
                cart_obj.user = request.user
                cart_obj.save()
        else:
            cart_obj = cart.objects.new(user=request.user)
            new_obj = True
            request.session['cart_id'] = cart_obj.id
        return cart_obj, new_obj    

Я рассчитывал на работу.

1 Ответ

0 голосов
/ 08 июня 2019

попробуй ..

if request.user.is_authenticated: 

вместо

request.user.is_authenticated()
...