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

Django Admin无法读取__str__方法?添加后触发AttributeError

问题原因及解决方法

问题根源

你在定义User模型字段时错误使用了name参数——这个参数是用来指定模型实例的属性名,而非后台显示的友好名称,但你传入的值是带空格的"First Name",不符合Python标识符规则,导致Django无法正确创建first_name这个实例属性,因此调用self.first_name时触发AttributeError。

修复步骤

把字段定义中的name参数替换为verbose_name(这才是设置后台显示友好名称的正确参数),或者直接省略该参数(如果不需要自定义显示名称)。

修复后的models.py代码:

from django.db import models


class User(models.Model):
    """
    代表用户对象的模型类,属性如下:
    """
    first_name = models.CharField(verbose_name="First Name", max_length=30)
    last_name = models.CharField(verbose_name="Last Name", max_length=30)
    cpf = models.CharField(verbose_name="CPF", max_length=30)
    age = models.IntegerField(verbose_name="Age")
    email = models.EmailField(verbose_name="email", max_length=30)

    def __str__(self):
        return self.first_name

额外操作

修复后需要执行数据库迁移命令,确保字段定义同步到数据库:

python manage.py makemigrations
python manage.py migrate

内容的提问来源于stack exchange,提问作者Vitor Anghêben

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 05:50:39