如何在 Django 中分离我的模型?

新手上路,请多包涵

我正在尝试学习 python/django。

现在,我的所有模型都在 models.py 中

是否可以分解我的模型,以便我可以在单独的模型文件夹中为每个模型创建一个文件,这样我就可以执行以下操作:

~/myproject/myapp/models/user.py ~/myproject/myapp/models/group.py

谢谢

原文由 john 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 580
2 个回答

这是可能的,只需确保将您在 __init__.py 中创建的所有模型导入到您的 models 目录中。在您的情况下,它看起来像这样:

 # __init__.py
from .user import UserModel
from .group import GroupModel

这需要完成,因为 Django 在 app.models 中查找应用程序的模型。

正如其他人提到的,对于 1.7 之前的 Django 版本,您还需要在模型中的 Meta 类中的 app_label 属性中指定应用程序的名称:

 class UserModel(models.model):
    # fields here

    class Meta:
        app_label = "myapp"

http://docs.djangoproject.com/en/1.7/ref/models/options/#app-label

原文由 John Debs 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以有一个名为 models 的文件夹,但是在每个模型类中您需要包括:

 class Meta:
    app_label="appname goes here"

附言。不要忘记 __ init__.py 文件,就像我一直做的那样。

原文由 James Khoury 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题