Django 模型简介,模型是一个用于表示数据的Python类,包含基本的数据字段和行为,在Django中,通常一个模型就代表一个数据库表。模型继承自django.db.models.Model
,模型的每一个属性代表一个数据表的列。
前面已经使用模型创建过问卷调查系统的调查问卷类和选项类,下面用一个简单的例子介绍模型,下面的模型Person属于myapp应用:
# www.coolcou.com
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
模型Person包括两个字段:first_name和last_name。这两个字段都是模型的类属性,分别对应数据库表中的两个列。
当执行migrate命令时,Django会执行类似下面的SQL脚本来创建Person对应的数据库表:
CREATE TABLE myapp_person {
"id" serial NOT NULL PRIMARY KEY,
"first_name" varchar(30) NOT NULL,
"last_name" varchar(30) NOT NULL
}
脚本解释:
- Django根据模型所属应用程序生成数据库表名,命名规则:应用程序名_模型名;
- Django自动添加id字段作为数据库表的主键,与其他字段一样可以自定义主键,自定义主键需要包含
“primary_key=True”
,格式如下:
id = models.AutoField(primary_key=True)
使用模型
模型创建完成后,需要在Django的配置文件中注册模型。打开settings.py文件,找到INSTALLED_APPS配置项,将模型所在应用程序名添加到列表中。一般情况下,应用程序名就是使用manage.py startapp命令时所填写的名字。如果忘记了应用程序名,可以到应用程序文件夹下找到apps.py脚本文件,打开即可找到应用程序名:
from django.apps import AppConfig
class PollsConfig(AppConfig):
name = '应用程序名'
新的配置信息如下:
INSTALLED_APPS = [
...
'myapp',
]
配置完成,需要执行以下migration命令生成对应的数据库表:
python manage.py makemigrations 应用程序名
python manage.py migrate
酷客教程相关文章:
评论前必须登录!
注册