【问题标题】:Cannot assign "<SimpleLazyObject无法分配“<SimpleLazyObject
【发布时间】:2019-07-19 22:50:02
【问题描述】:
class ProductDetailSlugview(ObjectViewedMixin, DetailView):
    queryset = Product.objects.all()
    template_name = "products/product_detail.html"
    def get_context_data(self, *args, **kwargs):
        context=super(ProductDetailSlugview, self).get_context_data(*args , **kwargs)
        cart_object, new_object = Cart.objects.new_or_get(self.request)
        context['cart']=cart_object
        return context

这是我的看法

/product/list/blackberry 处的 ValueError 无法分配
" 在 0x7f0488733860>>": "ObjectViewed.user" 必须是 "User" 实例。
请求方式:GET请求
网址:http://127.0.0.1:8000/product/list/blackberryDjango
版本:2.1.3 异常类型:ValueError 异常值:不能
分配 ” 位于 0x7f0488733860>>" 的对象:"ObjectViewed.user" 必须是 "User"
实例。异常
位置:/home/wiwigi/Desktop/django-virtual/lib/python3.6/site-packages/django/db/models/fields/related_descriptors.py
set 中,第 210 行 Python
可执行文件:/home/wiwigi/Desktop/django-virtual/bin/python3 Python
版本:3.6.5 Python 路径:['/home/wiwigi/Desktop/ecommerce_sample',
'/home/wiwigi/Desktop/ecommerce_sample',
'/home/wiwigi/Desktop/django-virtual/lib/python36.zip',
'/home/wiwigi/Desktop/django-virtual/lib/python3.6',
'/home/wiwigi/Desktop/django-virtual/lib/python3.6/lib-dynload',
'/usr/lib/python3.6',
'/home/wiwigi/Desktop/django-virtual/lib/python3.6/site-packages',
'/home/wiwigi/pycharm-2018.1.2/helpers/pycharm_matplotlib_backend']
服务器时间:2019 年 3 月 26 日 11:31:14 +0000

我的错误代码请帮助我

【问题讨论】:

    标签: django


    【解决方案1】:

    这是因为您在未登录的情况下访问此视图(因此显示AnonymousUser),因此您需要将LoginRequiredMixin 添加到您的类中,如下所示,以确保只有登录的用户才能访问此视图。

    from django.contrib.auth.mixins import LoginRequiredMixin
    
    class ProductDetailSlugview(LoginRequiredMixin, ObjectViewedMixin, DetailView):
        # rest of the code
    

    【讨论】:

      【解决方案2】:

      您正在将 AnonymousUser 对象分配给 ObjectViewed 实例的属性 user。从命名来看,我的猜测是这发生在ObjectViewedMixin

      要获得更明确的答案,您必须发布完整的堆栈跟踪和相关代码。

      【讨论】:

      • 是的,这是因为 AnonymousUser 分配给 ObjectViewed 的属性 user 但在我的情况下,属性 user 可能是用户对象,也可能是 blankNull 那么为什么我会遇到同样的错误。如何摆脱此错误AnonymousUser 或无法查看详细信息页面。
      • @RahulVerma 我建议您发布一个单独的问题,其中包含完整的堆栈跟踪和相关代码
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 2013-07-11
      • 1970-01-01
      • 2021-03-27
      • 2013-07-03
      • 2021-01-20
      • 2011-12-23
      相关资源
      最近更新 更多