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

Django访问/profile路径报'function' object has no attribute 'objects'错误如何解决

Django AttributeError问题修复方案

根因定位

错误提示'function' object has no attribute 'objects'说明你调用.objects的目标对象实际是函数,并非Django模型类,问题出在代码的命名冲突和大小写错误:

  1. 未导入models中定义的Profile模型类
  2. 视图函数名和Profile模型类重名,导致命名冲突
  3. 模型调用、用户反向引用的大小写混用错误

具体修复步骤

    1. 在views.py顶部导入Profile模型:
from .models import Profile
    1. 修改视图函数名,避免和模型类重名,同时符合Python函数命名规范:
# 修改前
@login_required
def Profile(request):
# 修改后
@login_required
def profile(request):

注意:修改后要同步检查urls.py中对应的视图函数引用是否匹配

    1. 修正第20行的模型调用代码,使用导入的Profile模型类调用方法:
# 修改前
profile.objects.get_or_create(user=request.user)
# 修改后
Profile.objects.get_or_create(user=request.user)
    1. 修正else分支中反向引用的大小写错误,Django OneToOne字段默认反向引用为小写模型名:
# 修改前
p_form = ProfileUpdateForm(instance=request.user.Profile)
# 修改后
p_form = ProfileUpdateForm(instance=request.user.profile)

完成以上修改后即可正常访问/profile路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:45:02