繁体   English   中英

为什么 peewee 忽略列的唯一定义?

[英]Why peewee ignores column's unique definition?

我正在尝试创建表UserTask User中,我将user_id列设为唯一,但 peewee 忽略了它。 当我查看时没有唯一的列:

class BaseModel(Model):
    class Meta:
        database = DBConfig.db

class User(BaseModel):
    user_id = IntegerField(unique=True, null=False)

    class Meta:
        table_name = 'User'

class Task(BaseModel):
    task_content = TextField(null=False)
    completed = BooleanField(null=False, default=False)
    user_id = ForeignKeyField(User, backref='tasks', field='user_id', on_delete='CASCADE', on_update='CASCADE',
                              null=False)

    class Meta:
        table_name = 'Task'

为我工作:

db = SqliteDatabase(':memory:')

class User(db.Model):
    user_id = IntegerField(unique=True)

User.create_table()

结果如下 SQL:

CREATE TABLE IF NOT EXISTS "user" (
  "id" INTEGER NOT NULL PRIMARY KEY,
  "user_id" INTEGER NOT NULL)
CREATE UNIQUE INDEX IF NOT EXISTS "user_user_id" ON "user" ("user_id")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM