Django后端开发——ORM

文章目录

  • 参考资料
  • ORM-基础字段及选项
    • 字段类型
      • 练习——添加模型类
        • 应用bookstore下的models.py
        • 数据库迁移——同步至mysql
        • mysql中查看
        • 效果
    • 字段选项
    • Meta类
      • 定义
      • 示例:改表名
        • 应用bookstore下的models.py
        • 终端
        • 效果
      • 练习——改表名+字段选项修改
        • 应用bookstore下的models.py
        • 终端
        • 效果
  • ORM基本操作
    • 常见问题汇总
    • 基础概念
    • 创建数据
      • 引入新工具——Django Shell
      • 示例
        • 方案1
          • Shell
          • 效果(在mysql中查看)
        • 方案2
          • Shell
          • 效果
      • 练习——插入数据


参考资料

B站网课:点击蓝色字体跳转
或者复制链接至浏览器访问:https://www.bilibili.com/video/BV1vK4y1o7jH?p=16&vd_source=597e21cf34ffcdce468ba00be2177e8a


ORM-基础字段及选项

添加字段之后要记得进行迁移,变化才能同步至数据库

python3 manage.py makemigrations
python3 manage.py migrate

字段类型

Django后端开发——ORM_第1张图片
Django后端开发——ORM_第2张图片
Django后端开发——ORM_第3张图片
Django后端开发——ORM_第4张图片
Django后端开发——ORM_第5张图片
Django后端开发——ORM_第6张图片

练习——添加模型类

Django后端开发——ORM_第7张图片

应用bookstore下的models.py
class Author(models.Model):
    name = models.CharField('姓名',max_length=11,default='')
    age = models.IntegerField('年龄')
    email = models.EmailField('邮箱')
数据库迁移——同步至mysql
python3 manage.py makemigrations
python3 manage.py migrate
mysql中查看

进入mysql:

mysql -u root -p

输入密码:123456

use mysite3;
show tables;
desc bookstore_author;
效果

Django后端开发——ORM_第8张图片

字段选项

Django后端开发——ORM_第9张图片
Django后端开发——ORM_第10张图片
null尽量不要使用
Django后端开发——ORM_第11张图片
Django后端开发——ORM_第12张图片
修改过字段选项【添加或更改】均要执行makemigrations和migrate

python3 manage.py makemigrations
python3 manage.py migrate

Meta类

定义

Django后端开发——ORM_第13张图片

示例:改表名

更改表名

应用bookstore下的models.py
class Book(models.Model):

    title = models.CharField('书名',max_length=50,default='')
    price = models.DecimalField('价格',max_digits=7,
                                decimal_places=2,default=0.0)
    class Meta:
        db_table='book'

添加内容:

 class Meta:
        db_table='book'
终端

数据库的迁移

python3 manage.py makemigrations
python3 manage.py migrate
效果

修改表名前:
Django后端开发——ORM_第14张图片
修改表名后:
Django后端开发——ORM_第15张图片

练习——改表名+字段选项修改

Django后端开发——ORM_第16张图片

应用bookstore下的models.py
from django.db import models

# Create your models here.
class Book(models.Model):

    title = models.CharField('书名',max_length=50,default='',unique=True)
    pub = models.CharField('出版社',max_length=100,default='')
    price = models.DecimalField('价格',max_digits=7,
                                decimal_places=2,default=0.0)
    market_price = models.DecimalField('价格', max_digits=7,
                                       decimal_places=2, default=0.0)
    class Meta:
        db_table='book'

class Author(models.Model):
    name = models.CharField('姓名',max_length=11,default='')
    age = models.IntegerField('年龄',default=1)
    email = models.EmailField('邮箱',null=True)
    class Meta:
        db_table='author'
终端

数据库的迁移

python3 manage.py makemigrations
python3 manage.py migrate
效果

Django后端开发——ORM_第17张图片

Django后端开发——ORM_第18张图片
Django后端开发——ORM_第19张图片

ORM基本操作

常见问题汇总

Django后端开发——ORM_第20张图片
Django后端开发——ORM_第21张图片
推荐选择2:修改models.py
Django后端开发——ORM_第22张图片
Django后端开发——ORM_第23张图片

基础概念

Django后端开发——ORM_第24张图片
Django后端开发——ORM_第25张图片

创建数据

Django后端开发——ORM_第26张图片
Django后端开发——ORM_第27张图片
方案2较麻烦,更推荐方案1

引入新工具——Django Shell

Django后端开发——ORM_第28张图片
代码发生变化后要重启Django Shell

示例

方案1
Shell
python3 manage.py shell
from bookstore.models import Book
b1 = Book.objects.create(title='python',pub='清华大学出版社',price=20,market_price=25)
效果(在mysql中查看)

Django后端开发——ORM_第29张图片

方案2
Shell
python3 manage.py shell
from bookstore.models import Book
b2 = Book(title='Django',pub='清华大学出版社',price=70,market_price=75)
b2.save()
效果

Django后端开发——ORM_第30张图片

练习——插入数据

Django后端开发——ORM_第31张图片


(持续更新中)

你可能感兴趣的:(Django后端开发,django,数据库,python,后端,mysql)