Django后端开发——模型层及ORM介绍

文章目录

  • 参考资料
  • Django配置MySQL
    • 安装mysqlclient
    • 创建数据库
      • 进入数据库的操作
      • 可能遇到的问题及解决方案
      • Pycharm配置settings.py
  • 模型![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c83753397bf6481d8defde26537903bf.png)
  • ORM
    • 介绍
    • 示例
      • 终端:
      • settings.py
      • bookstore的models.py
      • 效果


参考资料

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


Django配置MySQL

安装mysqlclient

Django后端开发——模型层及ORM介绍_第1张图片

一般都有python3-dev,没有default-libmysqlclient-dev,需要安装default-libmysqlclient-dev

然后安装mysqlclient

sudo pip3 install mysqlclient

若安装default-libmysqlclient-dev时报错‘pkg-config: not found’,这是由于缺少 ‘pkg-config’ 工具导致的,需要安装 pkg-config 工具

sudo apt-get update
sudo apt-get install pkg-config

安装完成后,再次尝试安装 mysqlclient:

sudo pip3 install mysqlclient

看是否安装成功:

sudo pip3 freeze|grep -i 'mysql'

若出现版本号,则安装成功

创建数据库

Django后端开发——模型层及ORM介绍_第2张图片

进入数据库的操作

终端:

sudo mysql -u root -p

输入虚拟机管理员密码

Enter password:这里,没有密码直接回车,无需输入

顺利进入mysql
Django后端开发——模型层及ORM介绍_第3张图片
数据库名往往与项目名一致

create database mysite3 default charset utf8;

可能遇到的问题及解决方案

1.报错:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
分析: MySQL 客户端无法通过指定的 Unix 套接字连接到本地 MySQL 服务器。常见原因包括 MySQL 服务器未启动或者 MySQL 服务器套接字文件路径配置错误
解决方案:
Django后端开发——模型层及ORM介绍_第4张图片

2.在解决问题1时报错:Unit mysql.service could not be found.
分析:表明系统上可能没有安装 MySQL 服务器,或者 MySQL 服务器安装后的服务名称可能不是 mysql
解决方案:
Django后端开发——模型层及ORM介绍_第5张图片
命令行:

dpkg -l | grep mysql-server
sudo apt-get update
sudo apt-get install mysql-server

安装了mysql服务器后再次尝试:

sudo mysql -u root -p

Pycharm配置settings.py

settings.py-DATABASES

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysite3',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': '3306'
    }
}

Django后端开发——模型层及ORM介绍_第6张图片

模型Django后端开发——模型层及ORM介绍_第7张图片

ORM

介绍

Django后端开发——模型层及ORM介绍_第8张图片
Django后端开发——模型层及ORM介绍_第9张图片
Django后端开发——模型层及ORM介绍_第10张图片

示例

Django后端开发——模型层及ORM介绍_第11张图片

终端:

cd django
cd day03
cd mysite3
python3 manage.py startapp bookstore

settings.py

在INSTALLED_APPS中添加‘bookstore’

bookstore的models.py

from django.db import models

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

    title = models.CharField('书名',max_length=50,default='')
    price = models.DecimalField('价格',max_digits=7,decimal_places=2)

每一个类对应一个表,每一个属性对应一个字段
此时在数据库中是查询不到表格的:
进入数据库–选中mysite3数据库-查询表格

use mysite3
show tables;

Django后端开发——模型层及ORM介绍_第12张图片

这是因为需要数据库的迁移(同步至数据库)
Django后端开发——模型层及ORM介绍_第13张图片

python3 manage.py makemigrations
python3 manage.py migrate

效果

再次从mysql查看表格:
Django后端开发——模型层及ORM介绍_第14张图片
可以看到数据库的表格已经完成迁移

查看表格:

desc bookstore_book;

Django后端开发——模型层及ORM介绍_第15张图片
可以看到刚刚创建的表格

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