Python 为什么创建模型后数据库中的外键为空?

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 =

我的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 = ...
    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。。。为什么?