如何将 django.contrib.auth.models.AnonymousUser 修复为用户
how to fixe django.contrib.auth.models.AnonymousUser to User
大家好,我正在制作电子商务网站项目,我尝试将用户与购物车相关联,但我遇到了 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
我希望工作。
尝试..
if request.user.is_authenticated:
代替
request.user.is_authenticated()
大家好,我正在制作电子商务网站项目,我尝试将用户与购物车相关联,但我遇到了 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
我希望工作。
尝试..
if request.user.is_authenticated:
代替
request.user.is_authenticated()