这是我要在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缺少哪些它认为是空的信息?