加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

Django操作mysql数据库(一)

07/01 15:23
542
阅读需 5 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

Django连接数据库

Django的setting文件中,找到数据库连接,修改成mysql:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'djangostudy',
        'USER': 'root',
        'PASSWORD': 'yeqinfang',
        'HOST': '192.168.31.101',
        'PORT': '3306',
    }
}

执行迁移

python manage.py makemigrations
python manage.py  migrate

在这里插入图片描述

pycharm直接报错,说明我们没有安装mysql的操作模块,安装如下:

在这里插入图片描述

然后引入mysql模块:

在这里插入图片描述

再次运行,报错:

在这里插入图片描述

他要求客户端版本较高,查看官方文档:https://pypi.org/project/mysqlclient/

并按照文档操作:

pip install mysqlclient

在这里插入图片描述发现还是一样报错,需要更换客户端,并再次执行:
在这里插入图片描述在这里插入图片描述

如上,执行成功。原因是django3.0不支持pymysql,而MySQLDB又不支持python3,所以官方推荐安装mysqlclient(MySQLdb分支)来引用MySQLdb,而不是直接安装MySQLdb,使用方法应该跟MySQLdb一样。

在这里插入图片描述

pycharm连接数据库

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

安装驱动文件之后(下方的感叹号,点击一下download),报如下错误:

Server returns invalid timezone. Need to set ‘serverTimezone’ property.

很显然,它提示时区不对,那我就去设置一下服务器时区。

(1)查看时区指令:

show variables like'%time_zone'; 

如图,system就是没设置时区。

在这里插入图片描述

(2)设置时区

set global time_zone = '+8:00'; 

(3)重新连接

在这里插入图片描述

操作数据库

创建应用:

在这里插入图片描述

那么,我们现在开始码代码吧!

(1)创建一张表

class loginUser(models.Model):
	loginname = models.CharField(max_length=20, null=False, unique=True)
    nickname = models.CharField(max_length=20, null=False, unique=False)
    sex = models.BooleanField(default=True)

(2)执行迁移

python manage.py makemigrations
python manage.py  migrate

在这里插入图片描述

直接报错,原因是应用没有注册。

(3)注册应用

在这里插入图片描述

(4)再次执行迁移

在这里插入图片描述

再次执行成功了,但是没有表生成。为了查明什么原因,我决定去数据库查看:

在这里插入图片描述

有表生成!说明迁移成功,数据库生成了表,只是没显示在pycharm里。这是为什么呢?

(5)真相了!

pycharm连接数据库后不能查看表,此时,需要手动选择数据库

在这里插入图片描述

效果展示:

在这里插入图片描述

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
3294-15SURC/S400-A6 1 Everlight Electronics Co Ltd Single Color LED, Brilliant Red, Water Clear, T-1, 3mm, ROHS COMPLIANT PACKAGE-2
暂无数据 查看
DSC1001CI5-019.2000 1 Microchip Technology Inc OSCILLATOR MEMS 19.2MHZ CMOS SMD
$1.74 查看
CSTCC10M0G53-R0 1 Murata Manufacturing Co Ltd Ceramic Resonator, 10MHz Nom, CERAMIC PACKAGE-3
$0.96 查看

相关推荐

电子产业图谱