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'

 

posted @ 2021-05-07 21:26  JIMfan  阅读(513)  评论(0编辑  收藏  举报