以下为书籍信息管理的数据关系:书籍和人物是 :一对多关系
要先分析出项目中所需要的数据, 然后设计数据库表.
书籍信息表
字段名 | 字段类型 | 字段说明 |
---|---|---|
id | AutoField | 主键 |
name | CharField | 书名 |
id | name |
---|---|
1 | 西游记 |
2 | 三国演义 |
人物信息表
字段名 | 字段类型 | 字段说明 |
---|---|---|
id | AutoField | 主键 |
name | CharField | 人名 |
gender | BooleanField | 性别 |
book | ForeignKey | 外键 |
id | name | gender | book |
---|---|---|---|
1 | 孙悟空 | False | 1 |
2 | 白骨精 | True | 1 |
3 | 曹操 | False | 2 |
4 | 貂蝉 | True | 2 |
MVT
设计模式中的Model
, 专门负责和数据库交互.对应(models.py)
Model
中内嵌了ORM框架
, 所以不需要直接面向数据库编程.模型类和对象
完成数据库表的增删改查
.ORM框架
就是把数据库表的行与相应的对象建立关联, 互相转换.使得数据库的操作面向对象.1. 定义模型类
book = models.ForeignKey(BookInfo)
根据数据库表的设计
models.py
中定义模型类,继承自models.Model
from django.db import models# Create your models here.
# 准备书籍列表信息的模型类
class BookInfo(models.Model):# 创建字段,字段类型...name = models.CharField(max_length=10)# 准备人物列表信息的模型类
class PeopleInfo(models.Model):name = models.CharField(max_length=10)gender = models.BooleanField()# 外键约束:人物属于哪本书book = models.ForeignKey(BookInfo)
2. 模型迁移 (建表)
迁移由两步完成 :
生成迁移文件:根据模型类生成创建表的语句
python manage.py makemigrations
执行迁移:根据第一步生成的语句在数据库中创建表
python manage.py migrate
迁移前
迁移后
sqlite3
数据库来存储数据下一篇:mysql的复制和备份