能否在Tortoise ORM的config_file中指定父文件夹名而非逐个枚举模块
Tortoise ORM 模型目录批量配置方案
核心结论
Tortoise ORM 原生支持直接指定包路径批量导入模型,不需要手动枚举所有子模块。你示例中写的["my_models.*"]通配符写法没有原生支持,不需要额外加星号,直接填写包名即可实现预期效果。
可用配置示例
直接将models配置项修改为指向父包名即可:
"apps": { "my_app": { "models": ["my_models"], "default_connection": "default" } }
Tortoise 初始化时会自动递归扫描my_models包下所有子模块,自动识别导入所有ORM模型定义。
注意事项
- 要保证
my_models目录下存在__init__.py文件,让Python将该目录识别为可导入的包,否则扫描逻辑会失效 - 如果你希望排除指定子模块的扫描,可以在对应子模块中添加全局变量
__tortoise_ignore__ = True,Tortoise 会自动跳过该模块的模型识别 - 如果你需要更灵活的过滤规则(比如仅导入符合特定命名规则的子模块),可以在初始化Tortoise之前自行实现模块遍历逻辑,动态生成models列表后再传入配置即可。
内容的提问来源于stack exchange,提问作者alispa
相关产品推荐
相关产品推荐

