无法在 Django 中创建 select 标签

Not able to create a select tag in Django

我有一个 models.py 文件:

class MyUser(AbstractUser):
    YEAR_IN_SCHOOL_CHOICES = (('FRESHMAN', 'HOD'),('SOPHOMORE', 'Staff_Member'),)
    #phone = models.CharField(max_length = 10, null = True)
    Designation = models.CharField(max_length = 20, null = False,choices=YEAR_IN_SCHOOL_CHOICES,default='FRESHMAN')

当我 运行 python manage.py migrate 命令时,显示错误:django.db.utils.InternalError: (1067, "Invalid default value for 'Designation'")

我看过文档:link

任何人都可以指出我在这个实现中做错了什么吗?

谢谢。

这是典型的公认结构:

class MyUser(AbstractUser):
    FRESHMAN = 'HOD'
    SOPHOMORE = 'Staff_Member'
    YEAR_IN_SCHOOL_CHOICES = (
        (FRESHMAN, 'Freshman'),
        (SOPHOMORE, 'Sophomore'),
    )
    Designation = models.CharField(max_length=20, null=False, choices=YEAR_IN_SCHOOL_CHOICES, default='HOD')

您 运行 遇到问题的原因(或原因之一)是因为每个选择元组中的第一项指定将存储在数据库中的内容,而第二项指定将显示的内容表单上的下拉菜单。所以你的默认值需要是默认存储在数据库中的内容。我假设它是 'HOD' 你想默认存储在数据库中,所以我已经这样设置了我的例子。