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

使用Django与Python编辑表单时FieldError报错求助

解决Django FieldError: 无法将关键字‘rowid’解析为字段的问题

嘿,这个问题很常见,我来帮你快速搞定!

错误根源

你遇到的FieldError是因为你的Studentapp模型里根本没有定义rowid这个字段,但你在视图里却用它来查询对象:

item = get_object_or_404(Studentapp, rowid=id)

看你提供的models.py代码,Studentapp的可选字段只有address、course、id、name、pub_date、roll,Django找不到rowid,自然就报错了。

修复方案

Django会自动给每个模型添加一个名为id的主键字段(除非你手动指定了其他主键),所以你只需要把查询条件里的rowid改成id就行:

item = get_object_or_404(Studentapp, id=id)

或者更通用的写法,用pk(primary key的缩写,不管你模型的主键叫什么名字都能生效):

item = get_object_or_404(Studentapp, pk=id)

额外提醒

如果你的URL配置里传递的参数名是rowid(比如path('editrow/<int:rowid>/', views.editrow, name='editrow')),那你需要把视图函数的参数也改成rowid,然后查询时用id=rowid:

def editrow(request, rowid):
    item = get_object_or_404(Studentapp, id=rowid)
    # 后续编辑逻辑...

这样修改后,点击更新按钮就不会再出现这个错误啦!

内容的提问来源于stack exchange,提问作者Aditya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:27:58