> 文章列表 > Django框架之定义模型和表迁移

Django框架之定义模型和表迁移

Django框架之定义模型和表迁移

 django3.0 定义模型并通过定义好的模型实现源代码创建数据表。

概述

模型是一个用于表示数据的Python类,包含基本的数据字段和行为。

通常一个模型就代表一张数据库表。

模型继承自django.db.models.Model,模型的每一个属性代表一个数据的字段。

定义表模型

在myapp/models.py 中定义模型

引入模型类

from django.db import models

注意:默认已经引入,如果没有就加上。

继承

模型类要继承models.Model类

创建表模型

from django.db import models# Create your models here.class Grades(models.Model):""" 班级表模型 """id = models.AutoField(primary_key=True)name = models.CharField(max_length=20)boy_num = models.IntegerField()girl_num = models.IntegerField()create_time = models.DateTimeField()class Students(models.Model):""" 学生表模型 """name = models.CharField(max_length=20)gender = models.BooleanField(default=True)age = models.IntegerField()desc = models.CharField(max_length=20)isDel = models.BooleanField(default=False)# 设置与班级表关联外键 一对多外键设置在多的模型中grades_id = models.ForeignKey("Grades", on_delete=models.CASCADE)

注意

模型字段是模型的类属性,它的命名不能与模型接口相同,如不能定义名为clean、save、delete等,同时字段名字中不能连续出现两个下画线,这是因为连续的两个下画线是Django数据库API的特殊语法。

创建数据表

1.生成迁移文件

python manage.py makemigrations

在migrations下生成迁移文件,此时数据库中还没有生成数据表。

2.执行迁移

python manage.py migrate

此时表已经创建完毕,不但有我们定义的表,还有一些django配置表

3.更新表文件

当数据表字段变化后,应先维护表模型,之后使用makemigrations和migrate两个命令

使用源代码管理工具管理数据库的变更记录。