【问题标题】:defining a primary key in django maually在 django 中手动定义主键
【发布时间】:2019-09-10 12:54:54
【问题描述】:

我正在尝试为 Employee 数据库定义一个主键“eid”。我试过下面的代码

class Employee(models.Model):
    eid = models.CharField(primary_key=True)
    ename = models.CharField(max_length=50)
    paswd = models.CharField(max_length=10)

class Meta:
    db_table = "employee"

我收到类似的错误消息

django.db.utils.OperationalError: (1075, '不正确的表定义; 只能有一个自动列,并且必须定义为一个键')

【问题讨论】:

    标签: python django-models


    【解决方案1】:

    您必须为 eid 主键定义 ma​​x_length 参数。如下:

    class Employee(models.Model):
        eid = models.CharField(primary_key=True, max_length=<any relevant integer value>)
        ename = models.CharField(max_length=50)
        paswd = models.CharField(max_length=10)
    
        class Meta:
            db_table = "employee"
    

    此外,Meta 类应该在模型类中定义。除此之外,它对我来说工作正常。请进行更改并尝试运行。

    【讨论】:

    • 我确实将这些表添加到数据库中,但在终端上它仍然向我显示这些错误。但是表格存储正确,所以我忽略了这些错误
    猜你喜欢
    • 1970-01-01
    • 2021-07-02
    • 2018-06-05
    • 2021-10-09
    • 2016-07-09
    • 2012-08-13
    • 1970-01-01
    • 2010-12-11
    • 2019-06-09
    相关资源
    最近更新 更多