在Django应用程序中重构大型models.py文件

Ala*_*air 8 django django-models

阅读monokrome的回答Django经理代码应该哪里生活?,我决定将大片拆分models.py成更小,更易于管理的文件.我正在使用文件夹结构

foodapp/
    models/
        __init__.py #contains pizza model
        morefood.py #contains hamburger & hotdog models
Run Code Online (Sandbox Code Playgroud)

__init__.py我进口车型,从morefood.py

from morefood import hamburger, hotdog
Run Code Online (Sandbox Code Playgroud)

但是,当我运行时python manage.py syncdb,唯一创建的表是foodapp_pizza- 我需要做什么才能让Django为我导入的模型创建表morefood.py

rin*_*nti 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 *
Run Code Online (Sandbox Code Playgroud)

正如本博文中所述.


kib*_*zer 3

或者,在您的 morefood.py 模型中,将以下内容添加到元中:

class Meta:
    app_label = 'foodapp'
Run Code Online (Sandbox Code Playgroud)

然后syncdb将使用您现有的结构