Django模型入门

发布于:2024-04-14 ⋅ 阅读:(145) ⋅ 点赞:(0)

Django模型入门

为了能够学会使用Django模型,本节通过构建一个实际的Django模型来帮助读者尽快入门。

3.2.1  定义模型

既然Django模型实现了ORM功能,那么它就是对数据库实例的描述和实现。下面,我们通过一个简单的实例进行讲解。

如果需要设计实现一个简单的个人信息模型(名称为PersonInfo),我们一般会定义这个个人信息模型的模型名称、字段名称、字段类型等参数,如表3.1所示。

3.2.2  Django模型代码

根据表3.1中定义的模型数据,设计实现的Django模型代码如下:

【代码3-1】

01  from django.db import models
02  
03  class PersonInfo(models.Model):
04      name = models.CharField(max_length=30)
05      gender = models.CharField(max_length=16)
06      age = models.CharField(max_length=8)

【代码分析】

在第01行代码中,通过调用django.db模块导入了models对象(Django模型对象)。

第03~06行代码定义了一个PersonInfo类,并通过models对象调用CharField()方法定义了name(姓名)、gender(性别)和age(年龄)3个字段,且每个字段的长度不一。这3个字段(name、gender和age)都相当于类(PersonInfo)的属性。这个类属性其实就相当于实体数据库中的数据项(也称数据列)。

【代码3-1】所定义的Django模型,最终会在底层数据库中创建一张数据库表(Table),具体代码如下:

【代码3-2】

01  CREATE TABLE myapp_personinfo (
02      "id" serial NOT NULL PRIMARY KEY,
03      "name" varchar(32) NOT NULL,
04      "gender" varchar(16) NOT NULL
05      "age" varchar(8) NOT NULL
06  );

【代码分析】

在第01行代码中定义的表名称myapp_ personinfo是自动从某些模型元数据中派生出来,用户也可以自定义表名称。

在第02行代码中,id字段(索引)会被自动添加,这也是MySQL数据库自动生成的。

3.2.3  使用Django模型

定义好了Django模型,只有通知Django框架要使用该模型后,该模型才能够生效。具体方式是修改settings.py配置文件中的INSTALLED_APPS配置项,在该配置项中添加models.py文件中定义的Django模块名称。

下面举一个简单的配置例子。假如新建的Django模型位于项目中的myapp应用中,该myapp应用是通过django-admin manage.py startapp myapp命令创建的,则项目的settings.py配置文件中的INSTALLED_APPS配置项应该设置如下:

【代码3-3】

01  INSTALLED_APPS = [
02      #...
03      'myapp',		// 添加 'myapp' 应用
04      #...
05  ]

【代码分析】

在第03行代码中,myapp应用就是通过调用django-admin manage.py startapp myapp命令创建的。

文节选自《Django 5企业级Web应用开发实战(视频教学版)》,获出版社和作者授权发布。


网站公告

今日签到

点亮在社区的每一天
去签到