【django】模型

在人生的道路上,不管是潇洒走一回,或者是千山独行,皆须是自己想走的路,虽然,有的人并不是很快就能找到自己的方向和道路,不过,只要坚持到底,我相信,就一定可以找到自己的路,只要找到路,就不必怕路途遥远了。

导读:本篇文章讲解 【django】模型,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

一. 模型

当前项⽬的开发, 都是数据驱动的。
以下为影⽚信息管理的数据关系:影⽚和⼈物是 :⼀对多关系
在这里插入图片描述
要先分析出项⽬中所需要的数据, 然后设计数据库表
在这里插入图片描述

二. 使⽤Django进⾏数据库开发的提示 :

1、MVT设计模式中的Model,专⻔负责和数据库交互.对应(models.py)
2、由于Model中内嵌了ORM框架,所以不需要直接⾯向数据库编程.
3、⽽是定义模型类,通过模型类和对象完成数据库表的增删改查.

4、ORM框架就是把数据库表的⾏与相应的对象建⽴关联, 互相转换.使得数据库的操作⾯向对象.

三. 使⽤Django进⾏数据库开发的步骤 :

B. 定义模型类
C. 模型迁移
D. 操作数据库

1、定义模型类

a、根据影⽚表结构设计模型类:
模型类:FilmInfo
影⽚名称字段:fname

b、根据⼈物表结构设计模型类:
模型类:PeopleInfo
⼈物姓名字段:uname
⼈物性别字段:gender
外键约束:film

外键要指定所属的模型类
film = models.ForeignKey(FilmInfo)

c、说明 :
影⽚-⼈物的关系为⼀对多. ⼀部影⽚中可以有多个演员.不需要定义主键字段, 在⽣成表时会⾃动添加, 并且值为⾃增⻓

d、定义模型类
说明
1、指定外键,一般在“多”的那一个模型类(PeopleInfo)中定义外键字段
2、ForeignKey第一个参数为必传参数,指定需要关联的父表模型类
3、ForeignKey需要使用on_delete指定级联删除策略

models.CASCADE:当父表数据删除时,相对应的从表数据会自动删除
models.SET_NULL:当父表数据删除时,相对应的从表数据会自动设置为null
models.PROTECT:当父表数据删除时,如果有相对应从表数据会抛出异常
models.SET_DEFAULT:当父表数据删除时,相对应的从表数据会被自动设置为默认值,还需要额外指定default=True

在这里插入图片描述

2. 模型迁移 (建表)

a、生成迁移脚本:python manage.py makemigrations 子应用名

python manage.py makemigrations film

b、执行迁移脚本:python manage.py migrate 子应用名

python manage.py migrate film

在这里插入图片描述
迁移文件:
在这里插入图片描述
c、查询⽣成的SQL语句

python manage.py sqlmigrate film 0001

默认情况下,Django项⽬在sqlite3数据库中创建表。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123510.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!