Django中AttributeError: 'str' object has no attribute 'objects'问题求助
Django代码错误排查与修复
问题代码中的错误点及修复方案:
字段大小写不匹配
Listing模型中外键字段定义为category(小写),但views中创建Listing对象时使用了Category=categoryData(大写C),Django ORM对字段名大小写敏感,需修正为:newListing = Listing( title=title, description=description, imgUrl=imageurl, price=price, category=categoryData, # 改为小写category owner=currentUser )图片字段名不匹配
Listing模型中图片字段是imgUrl,但views中写的是imageurl = imageurl,名称和大小写均不匹配,需修正为:imgUrl=imageurl, # 对应模型中的imgUrl字段模型类查询错误与冗余代码
Django模型类遵循大驼峰命名规范(如Category而非category),若你的分类模型类名为Category,查询代码需改为:# 类名首字母大写,同时删除多余的assert语句 categoryData = Category.objects.get(categoryName=category)__str__方法逻辑错误
Listing模型的__str__方法返回self.categoryName,但Listing模型本身无categoryName字段,需修改为合理返回值:def __str__(self): # 返回商品标题,或关联分类名称(若Category模型有categoryName字段) return self.title # 可选:return f"{self.category.categoryName} - {self.title}"
内容的提问来源于stack exchange,提问作者Abood_Dybala
相关产品推荐
相关产品推荐

