在阅读了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
导入的模型创建表?
答案 0 :(得分:7)
试试这个:
foodapp/ __init__.py models.py /morefood __init__.py hamburger.py hotdog.py
并在models.py中执行此操作:
from foodapp.morefood.hamburger import *
from foodapp.morefood.hotdog import *
,如this blogpost中所述。
答案 1 :(得分:3)
或者,在您的morefood.py模型中,将以下内容添加到Meta:
class Meta:
app_label = 'foodapp'
然后syncdb将与您现有的结构一起使用