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