Django 模型简介

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

酷客教程相关文章:

赞(0)

评论 抢沙发

评论前必须登录!