peewee不是null约束失败,将_id添加到类

时间:2018-09-13 09:59:52

标签: python python-3.x sqlite peewee

这是我要在peewee / python中实现的模型:

class Person(BaseModel):
    name = peewee.Charfield(unique=True)
    rate = peewee.FloatField()

class Unit(BaseModel):
    person = peewee.ForeignKeyField(Person)

我创建表,然后尝试在数据库中创建一些虚拟数据:

 from above import Person, Unit

 ben = Person()
 ben.name = "Ben Dover"
 ben.rate = 21.5
 ben.save()

 hour_one = Unit()
 hour_one.person = ben
 hour_one.save()

同时运行两个程序时,在hour_one.save()行的第二个程序中出现错误,并显示以下错误:

peewee.IntegrityError: NOT NULL constraint failed: unit.person_id

我不知道为什么peewee认为person上有person_id属性。我认为person.name将是该表中的唯一标识列。我尝试将unique=True替换为primary_key=True,并尝试同时包含两者,但错误仍然存​​在。

我可以理解我是否没有提供ben.name,但是我做到了。那么peewee缺少哪些它认为是空的信息?

0 个答案:

没有答案