Django 配置MySQL資料庫

2021-09-23 15:29:34 字數 1713 閱讀 5139

django 配置mysql資料庫

在settings.py中配置

databases = 

}

資料庫結構遷移

python3不支援mysqldb,可用pymysql代替。

1.首先,在python虛擬環境下安裝pymysql:pip install pymysql。

2.然後,在專案資料夾下的_init_.py新增如下**即可。

import pymysql

pymysql.install_as_mysqldb()

3.再者,在terminal中執行資料庫遷移命令:

python manage.py makemigrations

python manage.py migrate

資料遷移

把sqlite資料匯入到mysql中

之前我們預設使用的是sqlite資料庫,我們開發完成之後,裡面有許多資料。如果我們想轉換成mysql資料庫,那我們先得把舊資料從sqlite匯出,然後再匯入到新的mysql資料庫裡去。

1、sqlite匯出資料

匯出之前,我們先確保settins.py資料庫配置選項那裡,還是使用的是sqlite配置,如果已經修改了,請先修改回來:

databases = 

}

然後在cmd命令列裡輸入:

python manage.py dumpdata > data.json
這樣就將資料匯出到django專案根目錄下的data.json檔案。

2、mysql匯入資料

同樣,先將django的資料庫配置改為mysql的:

databases = 

}

然後在cmd命令列裡輸入:

python manage.py loaddata data.json
注意:

確保mysql使用者表裡為空的,如果之前有遷移過資料到mysql,有可能會出錯。注意出錯的時候所報的錯誤資訊。如果提示有重複主鍵,那需要先刪掉資料。這些資料是在給mysql資料庫應用遷移檔案的時候產生的,一般是content_type相關的表。

進入到mysql,執行如下的sql語句:

use 你的資料庫名;

delete from auth_permission;

delete from django_content_type;

刪除資料之後,再執行一次匯入命令即可。基本上,匯入不了資料都是mysql存在資料導致的。

載入時區表

另外,有可能所安裝的mysql沒有載入時區表。這個可能會導致filter對日期的查詢有問題。django官方文件也指出這個問題。mysql官網也有對應處理方法:載入時區表

mysql -u root -p mysql < timezone_posix.sql
mysql資料到postgresql

操作很簡單:

python manage.py dumpdata > backup.json
到postgresql對應的配置中:

python manage.py loaddata backup.json

django配置mysql資料庫

最近在學習django,學到第五章模型時,需要連線資料庫,然後,在這裡分享一下方法。起初是不知道怎樣配置mysql資料庫,但是還好,django的官網上面有相關的配置方法,下面就直接給分享一下。這是settings檔案裡面的基礎配置,使用的是sqlite,那我們需要連線其他資料庫呢?plain vi...

Django 配置mysql 資料庫

我本地已經安裝了mysql5.7 資料庫也已經建立好。但當我在專案配置檔案settings.py修改完資料庫連線後發現並不能使用 databases 控制台報錯 django.core.exceptions.improperlyconfigured error loading mysqldb mod...

Django配置mysql資料庫

很顯然這是乙個mysql的客戶端,當然是python版的,預設情況下,django支援的是這個客戶端,如果不安裝的話會提示錯誤 說無法連線資料庫,是不是沒安裝mysql客戶端 mysqlclient客戶端鏈結 按照上述連線中的安裝方法,執行下列命令就可以進行安裝 先安裝一堆需要的庫檔案 sudo a...