如何用乌龟形更新记录?



我正在尝试更新数据库中的记录与乌龟形式。我的代码如下:

async def update(
self,
id: Any,
obj_in: UpdateSchemaType 
) -> ModelType:
db_obj: ModelType = await self.model.filter(id = id).first()
data_update = jsonable_encoder(obj_in, exclude_unset=True)
db_obj_update = await db_obj.update_from_dict(data_update)
return db_obj_update

UpdateSchemaType是一个pydantic模型,ModelType是一个tortoise模型。

我正在使用fastapi中的路径操作:

@users_router.put(
'/{user_id}',
name = "Update user"
)
async def update_user(user_id: int, user_update: schemas.UserUpdate):
'Update user'
return await crud.user.update(user_id, user_update)

当我运行我的api时,我没有得到任何错误,但注册表没有更新!我做错了什么?或者我应该怎样做才能使它有用和有效?

摘自update_from_dict方法的文档:

这将忽略任何额外的字段,并且不使用它们更新模型,但会在错误类型或更新多实例关系时引发错误。

所以你需要在update_from_dict之后生成await object.save()

相关内容

  • 没有找到相关文章

最新更新