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


参考资料

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


Django配置MySQL

安装mysqlclient

在这里插入图片描述

一般都有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'

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

创建数据库

在这里插入图片描述

进入数据库的操作

终端:

sudo mysql -u root -p

输入虚拟机管理员密码

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

顺利进入mysql
在这里插入图片描述
数据库名往往与项目名一致

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 服务器套接字文件路径配置错误
解决方案:
在这里插入图片描述

2.在解决问题1时报错:Unit mysql.service could not be found.
分析:表明系统上可能没有安装 MySQL 服务器,或者 MySQL 服务器安装后的服务名称可能不是 mysql
解决方案:
在这里插入图片描述
命令行:

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'
    }
}

在这里插入图片描述

模型在这里插入图片描述

ORM

介绍

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

示例

在这里插入图片描述

终端:

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;

在这里插入图片描述

这是因为需要数据库的迁移(同步至数据库)
在这里插入图片描述

python3 manage.py makemigrations
python3 manage.py migrate

效果

再次从mysql查看表格:
在这里插入图片描述
可以看到数据库的表格已经完成迁移

查看表格:

desc bookstore_book;

在这里插入图片描述
可以看到刚刚创建的表格

相关推荐

  1. Web框架开发-Django模板

    2024-02-19 06:42:01       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-19 06:42:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-19 06:42:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-19 06:42:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-19 06:42:01       20 阅读

热门阅读

  1. ACM/NOI/CSP比赛经验分享

    2024-02-19 06:42:01       25 阅读
  2. 阿里云香港服务器是cn2线路吗?

    2024-02-19 06:42:01       35 阅读
  3. 目标检测中AP50 AP75 APs APm APl 含义

    2024-02-19 06:42:01       27 阅读
  4. Leetcode 16-20题

    2024-02-19 06:42:01       30 阅读
  5. 【uniapp】自定义步骤条样式

    2024-02-19 06:42:01       25 阅读
  6. uni-app自定义tabbar(van-tabbar)

    2024-02-19 06:42:01       29 阅读
  7. AI趋势(06) Sora,AI对世界的新理解

    2024-02-19 06:42:01       28 阅读
  8. react 实现路由拦截

    2024-02-19 06:42:01       27 阅读