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

Django调用模型字段报AttributeError: 'Customer'对象无first_name属性求助

错误原因

Django模型字段的name参数作用为定义字段在模型实例上的属性名,而非后台展示的可读名称。你在定义first_name、last_name字段时传入了name='First name'、name='Last name'参数,导致这两个字段的实际实例属性名变为First name、Last name,而非你预期的first_name,调用self.first_name时自然会抛出属性不存在的错误。

解决方案

推荐调整字段参数,将name替换为用于设置后台展示名称的verbose_name参数即可,修改后的模型代码如下:

from django.db import models

class Customer(models.Model):
    first_name = models.CharField(verbose_name='First name', max_length=20)
    last_name = models.CharField(verbose_name='Last name', max_length=20)

    def __str__(self) -> str:
        return self.first_name

修改完成后执行以下命令同步模型变更到数据库即可恢复正常:

  • python manage.py makemigrations
  • python manage.py migrate

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:45:03