您当前的位置: 首页 >  django

北极的三哈

暂无认证

  • 4浏览

    0关注

    126博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Django框架】——05 Django入门——1.模型

北极的三哈 发布时间:2022-10-09 17:47:10 ,浏览量:4

在这里插入图片描述

文章目录
      • 1. 模型
      • 2 使⽤Django进⾏数据库开发的提示
      • 3. 使⽤Django进⾏数据库开发的步骤
        • 1. 定义模型类
        • 2. 模型迁移 (建表)

1. 模型

在这里插入图片描述

影⽚信息表

字段名字段类型字段说明fidAutoField主键fnameCharField影⽚名 fidfname1⾦刚川2夺冠3我和我的家乡

⼈物信息表

字段名字段类型字段说明uidAutoField主键unameCharField⼈名genderBooleanField性别filmForeignKey外键 uidunamegenderfilm1张译False12吴京False13巩俐True24⻩渤Fasle3 2 使⽤Django进⾏数据库开发的提示
  • MVT设计模式中的Model,专⻔负责和数据库交互.对应(models.py)

  • 由于Model中内嵌了ORM框架,所以不需要直接⾯向数据库编程.

  • ⽽是定义模型类,通过模型类和对象完成数据库表的增删改查.

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

3. 使⽤Django进⾏数据库开发的步骤
  • 定义模型类
  • 模型迁移
  • 操作数据库
1. 定义模型类
  • 根据影⽚表结构设计模型类:

    • 模型类:FilmInfo
    • 影⽚名称字段:fname
  • 根据⼈物表结构设计模型类:

    • 模型类:PeopleInfo
    • ⼈物姓名字段:uname
    • ⼈物性别字段:gender
    • 外键约束:film
    • 外键要指定所属的模型类book = models.ForeignKey(FilmInfo)
  • 说明 :

    • 影⽚-⼈物的关系为⼀对多. ⼀部影⽚中可以有多个演员.
    • 不需要定义主键字段, 在⽣成表时会⾃动添加, 并且值为⾃增⻓. 根据数据库表的设计
# film / models.py
from django.db import models
# Create your models here.


# 影⽚信息模型类
class FilmInfo(models.Model):
 fid = models.AutoField(primary_key=True)
 fname = models.CharField(max_length=20)


# 创建⼈物信息模型类
class PeopleInfo(models.Model):
 uid = models.AutoField(primary_key=True)
 uname = models.CharField(max_length=10)
 gender = models.BooleanField()
 # 外键约束:⼈物属于哪部影⽚
 film = models.ForeignKey(FilmInfo,on_delete=models.CASCADE)
2. 模型迁移 (建表)

迁移由两步完成 :

创建迁移文件前 在这里插入图片描述

⽣成迁移⽂件:根据模型类⽣成创建表的语句

python manage.py makemigrations film

在这里插入图片描述

执⾏迁移⽂件:根据第⼀步⽣成的语句在数据库中创建表

python manage.py migrate

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

查询⽣成的SQL语句

$ python manage.py sqlmigrate film 0001

在这里插入图片描述

默认情况下,Django项⽬在sqlite3数据库中创建表。

关注
打赏
1665905568
查看更多评论
立即登录/注册

微信扫码登录

0.0348s