django学习笔记002-model模型类的设计和表生成

我们之前操作数据库是通过写sql语句,那么能不能不写sql语句就可以操作数据库呢? 可以,就是通过接下来要给大家讲的ORM框架。
ORM框架

O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思。在ORM框架中,它帮我们把类和数据表进行了一个映射,可以让我们通过类和类对象就能操作它所对应的表格中的数据。ORM框架还有一个功能,它可以根据我们设计的类自动帮我们生成数据库中的表格,省去了我们自己建表的过程。

django中内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型类,通过模型类和对象完成数据表的增删改查操作。

使用django进行数据库开发的步骤如下:

1.在models.py中定义模型类
2.迁移
3.通过类和对象完成数据增删改查操作

1.创建django项目

见上一个博客

2.在pycharm打开创建的django项目

进入项目的models.py 在models.py设计表对应的类 模型类在这里插入图片描述

#设计和表对赢的数据
# Create your models here.
#图书lei
from django.db import models
#图书类
class BookInfo(models.Model):  #继承自模型类
    "图书模型类"
    #charfiled 说明是一个字符串 maxlence最大长度
    btitle=models.CharField(max_length=20)
    #datefiled说明是一个日期类型
    bpub_date=models.DateField()

3.生成迁移文件

类写好后,在控制台 进入项目目录,通过

  Python manage.py makemigration

的命令生成迁移文件
在这里插入图片描述

4. 在数据库中生成对应的表文件

Python manage.py migrate 

ate
在这里插入图片描述生成后可以在项目目录下多了个db.sqlite3文件
在这里插入图片描述

4.安装sqlliteman查看数据库的变化

sudo apt-get install sqliteman 

5.打开sqliteman

在命令行输入sqliteman 直接打开sqliteman软件,打开db.sqlite3文件,其中生成了一个表,
bookest_bookinfo 这个表是由应用名_类名构成
在这里插入图片描述
可以发现表的字段和bookinfo的字段名对应
在这里插入图片描述

6,生成指定的表名和字段名

前面我们使用模型类时定义完模型类,之后再生成迁移文件,之后就会自动在数据库由应用名_类名构成表,和相对应的字段名,可是如果我们想指定生成的表名和字段名怎么办呢?
在设置类的属性时使用db_column="字段名"进行指定字段名

class BookInfo(models.Model):  #继承自模型类
        "图书模型类"
        #charfiled 说明是一个字符串 maxlence最大长度
        btitle=models.CharField(max_length=20,db_column = "title")
        #datefiled说明是一个日期类型
        bpub_date=models.DateField()

在上面的模型类中,我们使用db_column = “title”,指定的生成的列名为title,就不再是自动生成的title名

class BookInfo(models.Model):  #继承自模型类
        "图书模型类"
        #charfiled 说明是一个字符串 maxlence最大长度
        btitle=models.CharField(max_length=20,db_column = "title")
        #datefiled说明是一个日期类型
        bpub_date=models.DateField()
         class Meta :
         	db_table = "Bookinfo"

在上面我们使用db_table = "Bookinfo"属性,就使生成的表名为bookinfo2,不再是booktest_bookinfo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值