django 分多个models.py创建table
django项目中分多个models.py创建table
django创建每个app都默认有一个model.py文件。
当app需要大量建立table,且需要分类时,能否建立多个model.py文件?
1、在app文件夹下创建一个models文件夹(myapp/models/)。
2、将app文件夹中models.py文件删除(也可以剪切到models文件夹中)
3、models文件夹下新建__init__.py
4、models文件夹下新建分model文件:如model_001.py,model_002.py
5、在__init__.py中引入所需要的models同类文件
from .models import * from .model_001 import * from .model_002 import *
注意:各model.py文件中类名不能重复
(若:
你的模型不在默认的应用程序包下的models.py文件中,这时候需要指定你这个模型是哪个应用程序的。)
在定义model的类中加一个内部类Meta:
class User(models.Model): title = models.CharField(max_length = 100) class Meta: app_label = 'myapp'
Meta中app_label 意义
Options.app_label
如果一个model定义在默认的models.py,例如如果你的app的models在myapp.models子模块下,你必须定义app_label让Django知道它属于哪一个app
app_label = 'myapp'