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

Django报错'type object Review has no attribute object'的解决方法咨询

解决 type object 'Review' has no attribute 'object' 错误

这个错误是个典型的拼写小失误——Django模型的默认数据管理器是复数形式的objects,而你写成了单数的object。咱们直接修正这个问题,同时还要处理几个潜在的坑:

1. 修正管理器名称拼写

把views.py里的创建对象代码:

new_order = Review.object.create(
    reviewText = userInfo,
    votes = userAddr
)

改成:

new_order = Review.objects.create(
    item=item,  # 必须给ForeignKey字段赋值,否则会触发数据库完整性错误
    reviewText = userInfo,
    votes = userAddr
)

2. 补充必填的外键字段

你的Review模型里item是ForeignKey类型,默认是必填项(blank=False, null=False),所以创建Review实例时必须传入对应的Item对象——刚好你的视图里已经通过get_object_or_404获取了item,直接加上item=item即可,不然会报错说外键字段不能为空。

额外优化提示

  • 你的votes字段定义为models.CharField(max_length=100),但用来存储用户地址的话,100字符大概率不够用,建议改成models.TextField()或者把max_length调至255以上。
  • 模型里的字段命名可以更贴合Python规范,比如把reviewText改成review_text、votes改成shipping_address,这样代码可读性会更高,也避免和内置方法/属性冲突。

内容的提问来源于stack exchange,提问作者박제현

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:47:00