我正在尝试学习 python/django。
现在,我的所有模型都在 models.py 中
是否可以分解我的模型,以便我可以在单独的模型文件夹中为每个模型创建一个文件,这样我就可以执行以下操作:
~/myproject/myapp/models/user.py ~/myproject/myapp/models/group.py
谢谢
原文由 john 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试学习 python/django。
现在,我的所有模型都在 models.py 中
是否可以分解我的模型,以便我可以在单独的模型文件夹中为每个模型创建一个文件,这样我就可以执行以下操作:
~/myproject/myapp/models/user.py ~/myproject/myapp/models/group.py
谢谢
原文由 john 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以有一个名为 models
的文件夹,但是在每个模型类中您需要包括:
class Meta:
app_label="appname goes here"
附言。不要忘记 __ init__.py
文件,就像我一直做的那样。
原文由 James Khoury 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
这是可能的,只需确保将您在
__init__.py
中创建的所有模型导入到您的models
目录中。在您的情况下,它看起来像这样:这需要完成,因为 Django 在
app.models
中查找应用程序的模型。正如其他人提到的,对于 1.7 之前的 Django 版本,您还需要在模型中的
Meta
类中的app_label
属性中指定应用程序的名称:http://docs.djangoproject.com/en/1.7/ref/models/options/#app-label