Django tables names



我正在重构一个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