【发布时间】:2009-12-11 00:04:13
【问题描述】:
在阅读了 monokrome 对Where should Django manager code live? 的回答后,我决定将一个大的models.py 拆分为更小、更易于管理的文件。我正在使用文件夹结构
foodapp/
models/
__init__.py #contains pizza model
morefood.py #contains hamburger & hotdog models
在__init__.py 中,我从morefood.py 导入模型
from morefood import hamburger, hotdog
但是,当我运行 python manage.py syncdb 时,创建的唯一表是 foodapp_pizza - 我需要做什么才能让 Django 为我从 morefood.py 导入的模型创建表?
【问题讨论】:
-
每个人对文件“太大”的大小都有不同的想法,但总的来说,我发现如果一个应用程序需要重构它的 models.py,这通常表明一个应用程序没有做“只是一件事”,需要将应用程序本身重构为多个应用程序。只是一个想法。
-
下面的两个答案都很好。我更喜欢 kibitzer 的略低于它我可以将所有模型保存在模型文件夹中。我会留意 Baresi 提到的博文中提到的票证 (code.djangoproject.com/ticket/6961)。
-
@Carl – 好点。在这种特殊情况下,我最终将应用程序一分为二。
标签: django django-models