我正在重构一个Django应用程序。具体来说,我有一个大models.py
文件的应用程序,我试图将其拆分成一堆小文件,如
myapp/
models/
__init__.py
somemodels.py
someothers.py
somemore.py
...
并在models/__init__.py
中导入所有其他文件中的所有模型,以便我不必更改客户端代码。
问题是Django现在抱怨表名。模型Foo
的表曾经是myapp_foo
,但似乎Django现在正在查找表myapp.models_foo
。也就是说,似乎它使用了作为前缀的包来定义模型而不是它们的应用程序(当然myapp.models
没有注册为Django应用程序)。
我知道我可以为每个模型手动设置表名,但有没有办法避免这种情况并告诉Django这些模型实际上是
myapp
的一部分?