tortoise-orm的一些坑

概述

本文主要记录使用tortoise-orm遇到的一些坑
tortoise-orm的官网上面有很多的实例,但是使用的时候还是会遇到一些问题。

pydantic_model_creator 字段不全问题

如果使用pydantic_model_creator创建model,会遇到字段显示不完全,外键和多对多全部都没有。
解决方案:
在调用该方法之前需要先进行激活model,大致方法如下:

stAPI(debug=settings.DEBUG)
	# 这一步不会真的访问数据库
    Tortoise.init_models(settings.TORTOISE_ORM["apps"]["models"]["models"], "models")
    # 一定要先把model初始化之后再引入路由,防止在初始化schema之前就被调用导致schema字段不全
    from fast_tmp.factory import create_fast_tmp_app
    from .apps.api.routes.amis_html import router as amis_test_router
    fast_tmp_app = create_fast_tmp_app()
    fast_app.include_router(amis_test_router, )
    fast_app.mount(settings.ADMIN_URL, fast_tmp_app)

pydantic_model_creator include、exclude失效问题

pydantic_model_creator字段具有缓存功能,如果使用该函数的时候没有提供名字,则会导致返回之前引用过的同名的schmea,那么你这次使用的就会失效。

更新中

你可能感兴趣的:(fastapi,tortoise-orm)