Django表名

时间:2012-02-16 09:15:01

标签: python django django-models refactoring

我正在重构一个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的一部分?

1 个答案:

答案 0 :(得分:2)