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
这是我的观点
/ p / product / list / blackberry中的ValueError无法分配
” 在0x7f0488733860 >>“:” ObjectViewed.user“必须是” User“实例。
请求方法:GET请求
网址:http://127.0.0.1:8000/product/list/blackberry Django
版本:2.1.3异常类型:ValueError异常值:无法
分配 ” 位于0x7f0488733860的对象>>”:“ ObjectViewed.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我的错误代码请帮助我
答案 0 :(得分:1)
您正在将AnonymousUser
对象分配给user
实例的属性ObjectViewed
。从命名上来说,我的猜测是这发生在ObjectViewedMixin
中。
要获得更明确的答案,您必须发布完整的堆栈跟踪信息和相关代码。
答案 1 :(得分:0)
这是因为您没有登录即可访问此视图(因此显示为AnonymousUser
),因此您需要按如下所示将LoginRequiredMixin
添加到您的班级,以确保只有登录的用户才能访问此视图视图。
from django.contrib.auth.mixins import LoginRequiredMixin
class ProductDetailSlugview(LoginRequiredMixin, ObjectViewedMixin, DetailView):
# rest of the code