Python 为什么创建模型后数据库中的外键为空?
我的peewee模型设置与以下类似:Python 为什么创建模型后数据库中的外键为空?,python,sqlite,peewee,Python,Sqlite,Peewee,我的peewee模型设置与以下类似: class A(BaseModel): id = BigAutoField(primary_key=True) a1 = ... a2 = ... b = ForeignKeyField(B, null=True, backref="bs") class B(BaseModel): id = BigAutoField(primary_key=True) b1 = ... b2 =
class A(BaseModel):
id = BigAutoField(primary_key=True)
a1 = ...
a2 = ...
b = ForeignKeyField(B, null=True, backref="bs")
class B(BaseModel):
id = BigAutoField(primary_key=True)
b1 = ...
b2 = ...
a = DeferredForeignKey(A, null=True, backref="as")
然后我有一些类似的东西:
with MyDbProvider(database_url) as (db, cursor):
with db.manual_commit():
db.begin()
try:
a = A.create(a1=...)
print(a.id) # <================== outputs a valid id
b = B.create(a=a, b1=...)
print(b.id) # <================== outputs a valid id
a.update(b=b)
db.commit()
except BaseException as _:
db.rollback()
raise
我可以看到新的a和b行,但外键未保存
更新打印id我看到它们已填充但未保存为FK。。。为什么?