• 正文
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

Django操作mysql數(shù)據(jù)庫(一)

2024/07/01
692
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

Django連接數(shù)據(jù)庫

Django的setting文件中,找到數(shù)據(jù)庫連接,修改成mysql:

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

執(zhí)行遷移

python manage.py makemigrations
python manage.py  migrate

在這里插入圖片描述

pycharm直接報錯,說明我們沒有安裝mysql的操作模塊,安裝如下:

在這里插入圖片描述

然后引入mysql模塊:

在這里插入圖片描述

再次運行,報錯:

在這里插入圖片描述

他要求客戶端版本較高,查看官方文檔:https://pypi.org/project/mysqlclient/

并按照文檔操作:

pip install mysqlclient

在這里插入圖片描述發(fā)現(xiàn)還是一樣報錯,需要更換客戶端,并再次執(zhí)行:
在這里插入圖片描述在這里插入圖片描述

如上,執(zhí)行成功。原因是django3.0不支持pymysql,而MySQLDB又不支持python3,所以官方推薦安裝mysqlclient(MySQLdb分支)來引用MySQLdb,而不是直接安裝MySQLdb,使用方法應該跟MySQLdb一樣。

在這里插入圖片描述

pycharm連接數(shù)據(jù)庫

在這里插入圖片描述在這里插入圖片描述在這里插入圖片描述

安裝驅(qū)動文件之后(下方的感嘆號,點擊一下download),報如下錯誤:

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

很顯然,它提示時區(qū)不對,那我就去設(shè)置一下服務器時區(qū)。

(1)查看時區(qū)指令:

show variables like'%time_zone'; 

如圖,system就是沒設(shè)置時區(qū)。

在這里插入圖片描述

(2)設(shè)置時區(qū)

set global time_zone = '+8:00'; 

(3)重新連接

在這里插入圖片描述

操作數(shù)據(jù)庫

創(chuàng)建應用:

在這里插入圖片描述

那么,我們現(xiàn)在開始碼代碼吧!

(1)創(chuàng)建一張表

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)執(zhí)行遷移

python manage.py makemigrations
python manage.py  migrate

在這里插入圖片描述

直接報錯,原因是應用沒有注冊。

(3)注冊應用

在這里插入圖片描述

(4)再次執(zhí)行遷移

在這里插入圖片描述

再次執(zhí)行成功了,但是沒有表生成。為了查明什么原因,我決定去數(shù)據(jù)庫查看:

在這里插入圖片描述

有表生成!說明遷移成功,數(shù)據(jù)庫生成了表,只是沒顯示在pycharm里。這是為什么呢?

(5)真相了!

pycharm連接數(shù)據(jù)庫后不能查看表,此時,需要手動選擇數(shù)據(jù)庫

在這里插入圖片描述

效果展示:

在這里插入圖片描述

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
ASEM1-16.000MHZ-LC-T 1 Abracon Corporation MEMS OSC XO 16.0000MHZ CMOS SMD
$1.63 查看
TJA1055T/3/C,518 1 NXP Semiconductors TJA1055 - Enhanced fault-tolerant CAN transceiver SOIC 14-Pin

ECAD模型

下載ECAD模型
$1.64 查看
S25FL128SAGNFI001 1 Spansion Flash, 32MX4, PDSO8, WSON-8
$4.79 查看

相關(guān)推薦