Django的基本使用(二)

Django的基本使用

1.模型类

1.1 ORM的框架

在这里插入图片描述
django中内嵌了ORM框架,ORM框架可以将类和数据表进行对应起来,只需要通过类和对象就可以对数据表进行操作。
在Django中主要是设计类:模型类。
ORM另外一个作用:根据设计的类生成数据库中的表。

1.2 django模型类设计

  • 在应用models.py中设计模型类。
  • 必须继承与models.Model类。
  • 1) 设计BookInfo类。
    2) 设计HeroInfo类。

  • Models.ForeignKey可以建立两个模型类之间一对多的关系,django在生成表的时候,就会在多端的表中创建一列作为外键,建立两个表之间一对多的关系。

1.3 模型类生成表

  • 1) 生成迁移文件
    • 命令:python manage.py makemigrations

      迁移文件是根据模型类生成的。

  • 2) 执行迁移生成表
    • 命令:python mange.py migrate
      根据迁移文件生成表。
      生成表名的默认格式:
      应用名_模型类名小写

1.4 通过模型类操作数据表

  • 进入项目shell的命令:
    python manage.py shell
    以下为在相互shell终端中演示的例子:
    • 首先导入模型类:
      from booktest.models import BookInfo,HeroInfo
  • 1) 向booktest_bookinfo表中插入一条数据。

b = BookInfo() #定义一个BookInfo类的对象
b.btitle =‘天龙八部’ #定义b对象的属性并赋值
b.bpub_date = date(1990,10,11)
b.save() #才会将数据保存进数据库

  • 2) 查询出booktest_bookinfo表中id为1的数据。
    b = BookInfo.objects.get(id=1)
  • 3) 在上一步的基础上改变b对应图书的出版日期。
    b.bpub_date = date(1989,10,21)
    b.save() #才会更新表格中的数据
  • 4) 紧接上一步,删除b对应的图书的数据。
    b.delete() #才会删除
  • 5) 向booktest_heroInfo表中插入一条数据。
    h = HeroInfo()
    h.hname = ‘郭靖’
    h.hgender = False
    h.hcomment = ‘降龙十八掌’
    b2 = BookInfo.objects.get(id=2)
    h.hbook = b2 #给关系属性赋值,英雄对象所属的图书对象
    h.save()
  • 6) 查询图书表里面的所有内容。
    BookInfo.objects.all()
    HeroInfo.objects.all()

1.5 关联操作

在这里插入图片描述

  • 1) 查询出id为2的图书中所有英雄人物的信息。
    b = BookInfo.objects.get(id=2)
    b.heroinfo_set.all() #查询出b图书中所有英雄人物的信息
后续学习点这里
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值