【问题标题】:how to fixe django.contrib.auth.models.AnonymousUser to User如何将 django.contrib.auth.models.AnonymousUser 修复为 User
【发布时间】:2019-06-07 18:53:53
【问题描述】:

大家好,我正在制作电子商务网络项目,我尝试将用户与购物车相关联,但是当用户登录时,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    

我希望工作。

【问题讨论】:

    标签: python django django-users


    【解决方案1】:

    试试..

    if request.user.is_authenticated: 
    

    代替

    request.user.is_authenticated()
    

    【讨论】:

    • 这给出错误:“布尔对象不可调用”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    相关资源
    最近更新 更多