代码改变世界

将Django models 和views拆分程多个文件

2009-10-23 20:04  Aggron  阅读(2151)  评论(0编辑  收藏  举报

大多数Django教程都是将models放在models.py文件(模块)中, 然而随着models类的增加, 将类放在一个文件中太混乱了, 于是将models做成一个package:

models/
    __init__.py
    usermodels.py
    othermodel.py

这样就可以将models定义拆分到多个模块中,  但是当用命令同步数据时发现不可用:
manage.py sqlall blog
不会生成数据库创建命令(APP的名字是blog)

需要做如下更改:

  1. 在__init__.py中import模块:
    from usermodels import *
    from othermodel import *
  2. 在定义model的类中加一个内部类Meta:
    class User(models.Model):
        title = models.CharField(max_length = 100)
        class Meta:
            app_label = 'blog'

app_lable的值为APP的名称
这样就可以将models定义到多个文件中了。