You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 19:11:03