Django框架使用流程(二)

开发流程的学习,用于快速熟悉Django框架各个模块

一、MVT中数据模型的使用

Django中使用MVT设计,在models.py文件中通过ORM与数据库完成交互

二、数据表的设计

本示例完成图书-英雄信息的维护,需要存储两种数据:图书、英雄

图书表结构设计:

表名:Book

图书编号:id主键

图书名称:title书名

图书发布时间:pub_date出版日期

英雄表结构设计:

表名:Hero

英雄编号:id主键

英雄姓名:name英雄名

英雄性别:gender性别

英雄简介:content简介

所属图书:book外键

一本书中可以有多个英雄任务

图书-英雄的关系为一对多(需要在多方定义关系字段)

三、模型类的设计

Django自带ORM功能,用户不需要SQL语句来完成数据库操作,而是通过对象来操作数据库,用户自定义的模型了继承Django自带的模型类之后,即可拥有操作数据库功能

有一个数据表,就有一个模型类与之对应

打开models.py文件,定义模型类

说明:不需要定义主键列,在生成时会自动添加,并且值为自动增长

class Book(models.Model):
“”"
book继承了Model类 应为Model类拥有操作数据库的功能
“”"
title = models.CharField(max_length=20)
price = models.FloatField(default=0)
pub_date = models.DateField(default=“1983-06-01”)

def __str__(self):
    return self.title

class Hero(models.Model):
“”"
hero继承了Model 也可以操作数据库
“”"
name = models.CharField(max_length=20)
gender = models.CharField(max_length=6, choices=( (‘male’,‘男’),(‘female’,‘女’) ), default=‘male’)
content = models.CharField(max_length=100)
# book 是一对多中的外键 on_delete代表删除主表数据时如何做
book = models.ForeignKey(Book,on_delete=models.CASCADE)

def __str__(self):
    return self.name

模型类如何与数据库交互,需要实现以下三个流程

1、注册模型 在setting.py 中的INSTALLED_APPS 添加应用名
在这里插入图片描述
2、生成迁移文件 用于与数据库交互

python manage.py makemigrations

会在对应的应用下方生成迁移文件

3、执行迁移 会在对应的数据库中生成对应的表

python manage.py migrate

模型类更改之后需要再次生成迁移文件 执行迁移
在这里插入图片描述

发布了14 篇原创文章 · 获赞 4 · 访问量 9133

猜你喜欢

转载自blog.csdn.net/zhangzhaoyuxunlei/article/details/104729427
今日推荐