问题:可能因为models使用了synonym对所有字段进行了重命名,导致的问题
解决:使用session.flush()替代db.refresh(db_obj)
方法:
async def add(self, db: AsyncSession, obj_in: dict) -> ModelType:
db_obj = self.model(**obj_in)
db.add(db_obj)
db.commit()
# db.refresh(db_obj)
db.flush()
return db_obj
经后来出现的问题发现,这个解决方法仍有问题,暂时是重新建表,仍可以使用refresh方法
参考:
https://github.com/tiangolo/sqlmodel/issues/536