Django框架使用流程(三)

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

一、数据测试

Django自带了ORM模块,我们只需要熟悉常用的ORM操作即可通过面向对象的形式来完成原有SQL语句才能做到的增删改查。

在尚未启动服务器时,使用shell命令是操作数据库非常方便的测试环境

在manage.py 同级目录下进入python shell,进行简单的模型API练习

python manage.py shell

二、基本对象数据测试

引入需要的包:

from booktest.models import Book,Hero

1,查询所有图书信息:

Book.objects.all()
django模型类自带管理器objects 可以直接调用响应的方法

2,新建图书信息:

b = Book()
b.title=“射雕英雄传”
b.save()
当调用save方法是 会将数据存储进入数据库

4,修改图书信息:

b.price=3.5
b.save()
当调用save方法是相当于执行了update方法

5,删除图书信息:

b.delete()
执行delete时将数据苦衷对应的数据删除

三、关联对象的操作

当相关对象存在一对一、一对多、多对多关系时可以使用关联查询,此处仅以一对多举例,后续课程中会有多对多,一对一关系。

1、创建关联对象

h=Hero()
h.name=‘郭靖’
h.content=‘降龙十八掌’
h.book=b
h.save()
book字段为Hero表中的外键,此处必须按照外键相关约束赋值

2、一对多关系中通过多方找一方,此处案例为通过英雄找书

h.book.name
因为关系字段就存储在多方,可通过多方中的关键字段找一方

3、一对多关系中通过一方找多方,此处案例为通过书找到其中的所有英雄

b.hero_set.all()
一方对象.小写多方类名.all()

4、如果在定义外键是使用了字段related_name

则可以直接使用其值替换hero_set如

book = models.ForeignKey(Book,on_delete=models.CASCADE,related_name=‘heros’)
查询是就可以使用

b.heros.all()

ORM提供了非常多的面向对象语句,此处仅列举最广泛使用的,后续课程中会应用到更多的ORM语句
在这里插入图片描述

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

猜你喜欢

转载自blog.csdn.net/zhangzhaoyuxunlei/article/details/104729478