sqlalchemy.exc.InvalidRequestError: Could not refresh instance '<OperateLog at 0x7f650f39f3d0>'

本文共有479个字,关键词:

问题:可能因为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
版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。
添加新评论
暂无评论