Issues With Initializing Tortoise Orm With Fastapi
i am having issue with tortoise orm and fastapi i have the following code from app.py; i have skipped some lines to make this concise app.py from fastapi import FastAPI, HTTPExcept
Solution 1:
As I said in the comments, you need to insert
Tortoise.init_models(models_list, "models")
before the following line
register_tortoise(
app,
db_url=config.DATABASE_URL,
modules={"models": ["app.models"]},
generate_schemas=True,
add_exception_handlers=True,
)
Of course you'll have to change the "models" folder and name according to your configuration.
At the beginning it was also a problem for me as well, but the following github issue solved the problem
https://github.com/tortoise/tortoise-orm/issues/444
Also the docs provide the explanation
https://tortoise-orm.readthedocs.io/en/latest/search.html?q=early+init
UPDATE
Tortoise.init_models(models_list, "models")
models_list is the list (strings) of paths of the models that are to be considered. In your case, it'll be app.models
.
The idea is to initialize and start preparing the models, before connecting to the database. This is a step required in order to make relations available in the pydantic models.
Here the API docs
Post a Comment for "Issues With Initializing Tortoise Orm With Fastapi"