[英]Why peewee ignores column's unique definition?
我正在尝试创建表User
和Task
。 在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.