![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
tortoise-orm
Chise1
python和go的web开发
展开
-
fastapi+tortoise单元测试
文章目录概述示例基础测试类测试代码编写conftest.py修改tortoise-orm代码里面的bug执行测试获取代码覆盖率概述之前写过一次单元测试的文章,这次主要是完成一部分新的更简洁明了的测试。整个测试现在非常方便示例基础测试类首先我们要有一个基础的测试类,例如:import randomfrom fast_tmp.models import Userfrom httpx import AsyncClient, Responsefrom tortoise.contrib.test原创 2021-05-07 17:30:44 · 536 阅读 · 0 评论 -
fastapi+tortoise-orm测试
概述fastapi+tortoise的测试比较奇葩,tortoise-orm的测试需要传递event_loop,fastapi的异步测试不能直接访问,就算使用httpx的异步功能也不行(因为不会主动调用startup和shutdown)。解决方案:tortsoie-orm的测试解决方案是通过传递event_loop的方式,自己主动激活数据库(当然顺便创建测试数据库等一系列功能),但是没都要通过event_loop.run_until_complete执行实在是有点难看。我的解决方案:自己初始化数原创 2021-01-21 13:57:50 · 1619 阅读 · 1 评论 -
tortoise-orm的一些坑
概述本文主要记录使用tortoise-orm遇到的一些坑tortoise-orm的官网上面有很多的实例,但是使用的时候还是会遇到一些问题。pydantic_model_creator 字段不全问题如果使用pydantic_model_creator创建model,会遇到字段显示不完全,外键和多对多全部都没有。解决方案:在调用该方法之前需要先进行激活model,大致方法如下:stAPI(debug=settings.DEBUG) # 这一步不会真的访问数据库 Tortoise.init原创 2021-01-02 11:46:48 · 4518 阅读 · 1 评论 -
python动态生成pydantic的basemodel类
文章目录概述基于exec基于组装概述动态生成pydantic的basemodel类有两种方式,第一种就是我们比较熟悉的使用exec直接把字符串转变为代码,通过拼接相关字符串实现动态生成;第二种是根据pydantic提供的类来自行组装basemodel类,这种比较常见(我个人认为第一种好像更简单粗暴一点)。基于exec示例:x="""class BM(BaseModel): x:int"""from pydantic import BaseModelBM=exec(x,{“BaseModel原创 2020-08-12 10:56:23 · 7264 阅读 · 5 评论