国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL數(shù)據(jù)庫(kù)自動(dòng)生成Models文件導(dǎo)入Django

這篇具有很好參考價(jià)值的文章主要介紹了MySQL數(shù)據(jù)庫(kù)自動(dòng)生成Models文件導(dǎo)入Django。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言

在Django項(xiàng)目使用數(shù)據(jù)庫(kù)時(shí),可以有三種方式:

????????1.直接編寫(xiě)app內(nèi)的models文件,然后自動(dòng)生成MySQL數(shù)據(jù)庫(kù)

????????2.直接在MySQL中將數(shù)據(jù)庫(kù)編寫(xiě)好,然后不使用models,而是在views中利用PyMySQL編寫(xiě)數(shù)據(jù)庫(kù)鏈接等操作

? ? ? ? 3.MySQL庫(kù)自動(dòng)生成models文件進(jìn)行連接使用

這里詳解第三種方式

具體步驟

1.編MySQL數(shù)據(jù)庫(kù)

? ? ? ? 在這一步驟中,我們需要將項(xiàng)目需要的庫(kù)創(chuàng)建完畢,包括每個(gè)表中具體的主外鍵約束、非空約束、以及數(shù)據(jù)存儲(chǔ)的考量,以及各種實(shí)體表中的關(guān)系,這里推薦先將關(guān)系表寫(xiě)出來(lái),在根據(jù)關(guān)系表畫(huà)出對(duì)應(yīng)的ER圖,接下來(lái)再進(jìn)行數(shù)據(jù)庫(kù)的創(chuàng)建,這里不進(jìn)行贅述。

注意:盡量讓數(shù)據(jù)庫(kù)中的命名為英文!否則后面的步驟中會(huì)出現(xiàn)問(wèn)題!

2.創(chuàng)建Django項(xiàng)目,并導(dǎo)入相應(yīng)的第三方庫(kù)

? ? ? ? 這一步驟中,我們需要將Django項(xiàng)目創(chuàng)建好后,導(dǎo)入相應(yīng)第三方庫(kù),即簡(jiǎn)單配置環(huán)境

這里我使用的是Django4.1.1,Python3.10

需要的第三方庫(kù)共有兩個(gè):

? ? ? ? PyMySQL以及mysqlclient

????????如果使用的是PyCharm提供的虛擬環(huán)境,則直接在Files->Settings->Project:項(xiàng)目名-> python interpreter中找到左上角的“+”,點(diǎn)擊后搜索相應(yīng)的庫(kù),單擊Install Package進(jìn)行安裝

MySQL數(shù)據(jù)庫(kù)自動(dòng)生成Models文件導(dǎo)入Django

MySQL數(shù)據(jù)庫(kù)自動(dòng)生成Models文件導(dǎo)入Django

? ? ? ? 如果使用的是本地環(huán)境,則找到Python環(huán)境下pip工具所在路徑下(一般在Python環(huán)境下的Scripts路徑下),進(jìn)入cmd界面進(jìn)行下載安裝:pip install [要安裝的第三方庫(kù)的名字]

3.配置Django的settings文件,與要使用的數(shù)據(jù)庫(kù)進(jìn)行鏈接

? ? ? ? 這一步驟中,我們先找到與我們創(chuàng)建Django項(xiàng)目路徑下與項(xiàng)目同名的文件夾,打開(kāi)之后,找到settings.py文件

MySQL數(shù)據(jù)庫(kù)自動(dòng)生成Models文件導(dǎo)入Django

????????接下來(lái)我們找到此文件中的DATABASE部分,默認(rèn)為下圖:

MySQL數(shù)據(jù)庫(kù)自動(dòng)生成Models文件導(dǎo)入Django

之后我們將此部分編寫(xiě)為:

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

?其中

????????NAME字段需要填寫(xiě)我們需要鏈接的數(shù)據(jù)庫(kù)(DataBase)庫(kù)名

? ? ? ? HOST字段為我們使用的服務(wù)器ip,這里為主機(jī)默認(rèn)ip

? ? ? ? USER字段為我們數(shù)據(jù)庫(kù)的用戶名

? ? ? ? PASSWORD字段為我們數(shù)據(jù)庫(kù)的密碼

? ? ? ? PORT為數(shù)據(jù)庫(kù)端口

注意:以上所有字段都需要大寫(xiě)!否則會(huì)出現(xiàn)錯(cuò)誤!

4.利用MySQL已有庫(kù)生成models文件

如果在PyCharm中,則找到左下角Terminal? ,如果是在本地直接進(jìn)行,則找到manage.py文件所在路徑下打開(kāi)cmd命令行MySQL數(shù)據(jù)庫(kù)自動(dòng)生成Models文件導(dǎo)入Django

? ? ? ? ?接下來(lái)輸入:python manage.py inspectdb > models.py?

MySQL數(shù)據(jù)庫(kù)自動(dòng)生成Models文件導(dǎo)入Django

此命令執(zhí)行完畢后,會(huì)在manage.py同路徑下創(chuàng)建一個(gè)models.py文件,此models.py文件中的數(shù)據(jù)即為根據(jù)MySQL數(shù)據(jù)庫(kù)自動(dòng)生成的models

MySQL數(shù)據(jù)庫(kù)自動(dòng)生成Models文件導(dǎo)入Django

注意:盡量讓數(shù)據(jù)庫(kù)中的命名為英文,否則部分表名及屬性不可自動(dòng)生成!

?5.在app中的models添加需要使用到的表

????????上一步生成的models.py文件中的class即為數(shù)據(jù)庫(kù)中的表!

? ? ? ? 在進(jìn)行此步驟之前,需要確保app已經(jīng)在settings中注冊(cè)!??

?①找到我們創(chuàng)建的app路徑下的models.py文件,將所需要的表從上一步中的models文件中直接復(fù)制粘貼到app下的models中MySQL數(shù)據(jù)庫(kù)自動(dòng)生成Models文件導(dǎo)入Django

②修改managed值為T(mén)rueMySQL數(shù)據(jù)庫(kù)自動(dòng)生成Models文件導(dǎo)入Django

?6.修改Django鏈接數(shù)據(jù)庫(kù)到新庫(kù),或沿用當(dāng)前數(shù)據(jù)庫(kù),進(jìn)行鏈接

打開(kāi)Terminal,依次執(zhí)行:

python manage.py makemigrations

python manage.py migrate

MySQL數(shù)據(jù)庫(kù)自動(dòng)生成Models文件導(dǎo)入Django

?MySQL數(shù)據(jù)庫(kù)自動(dòng)生成Models文件導(dǎo)入Django

不報(bào)錯(cuò)即成功!

愿諸君繼續(xù)努力,向著夢(mèng)想前進(jìn)!?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-404687.html

到了這里,關(guān)于MySQL數(shù)據(jù)庫(kù)自動(dòng)生成Models文件導(dǎo)入Django的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • java代碼實(shí)現(xiàn)自動(dòng)生成數(shù)據(jù)庫(kù)表er圖

    最近有同事看到字節(jié)跳動(dòng)產(chǎn)品設(shè)計(jì)文檔里有數(shù)據(jù)庫(kù)表er圖。就想問(wèn)問(wèn)又沒(méi)有現(xiàn)成的工具也給直接生成一個(gè)er圖,經(jīng)查找驗(yàn)證發(fā)現(xiàn)并沒(méi)有。因?yàn)楝F(xiàn)在表關(guān)系都是用的邏輯外鍵而非物理外鍵約束的,所以像navicat等工具就算生成了也沒(méi)有描述關(guān)系的連接線。那么為了滿足需求,這邊

    2024年02月19日
    瀏覽(28)
  • 【IDEA使用指南】使用Hibernate框架的Java項(xiàng)目,如何通過(guò)數(shù)據(jù)庫(kù)表自動(dòng)生成實(shí)體模型?

    【IDEA使用指南】使用Hibernate框架的Java項(xiàng)目,如何通過(guò)數(shù)據(jù)庫(kù)表自動(dòng)生成實(shí)體模型?

    步驟1:找到并打開(kāi)“Persistence”工具欄。 如下圖所示,找到 “View - Tool Windows - Persistence”,點(diǎn)擊“Persistence”。 步驟2:找到并打開(kāi)“Import Database Schema” 窗口。 在開(kāi)發(fā)工具左下角會(huì)彈出持久化配置的工具欄“Persistence”,如下圖所示。單擊之后有一個(gè)彈框,找到彈框中的項(xiàng)

    2024年02月05日
    瀏覽(35)
  • mysql 自動(dòng)生成隨機(jī)數(shù)

    在MySQL中,生成隨機(jī)數(shù)可以使用`RAND()`函數(shù)。以下是一些基本用法: 1. **生成0到1之間的隨機(jī)浮點(diǎn)數(shù)**: ? ?```sql ? ?SELECT RAND(); ? ?``` 2. **生成指定范圍內(nèi)的隨機(jī)整數(shù)**(例如,生成1到100之間的隨機(jī)整數(shù)): ? ?```sql ? ?SELECT FLOOR(RAND() * 100) + 1; ? ?``` ? ?這里,`RAND()`生成0到

    2024年01月22日
    瀏覽(20)
  • Mysql和Oracle創(chuàng)建日期和修改日期設(shè)置為自動(dòng)生成

    1.Mysql 自動(dòng)獲取創(chuàng)建時(shí)間:timestamp not null default CURRENT_TIMESTAMP 自動(dòng)獲取更新時(shí)間:timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP 1.1.建表語(yǔ)句 2. Oracle 2.1.建表語(yǔ)句 2.2.利用觸發(fā)器設(shè)置更新時(shí)間 userinfo:是表名 modify_time:執(zhí)行update需要自動(dòng)更新的字段

    2024年02月09日
    瀏覽(90)
  • 快速生成 MySQL 數(shù)據(jù)庫(kù)關(guān)系圖

    快速生成 MySQL 數(shù)據(jù)庫(kù)關(guān)系圖

    在公司老舊系統(tǒng)里,數(shù)據(jù)庫(kù)表很多,但是在設(shè)計(jì)之初并沒(méi)有建立好關(guān)系圖,導(dǎo)致新人剛?cè)肼?面對(duì)N個(gè)庫(kù),每個(gè)庫(kù)幾百?gòu)埍恚懿环奖恪?例如:公司某一個(gè)系統(tǒng)的庫(kù)有三百?gòu)埍?,在不熟悉?xiàng)目的情況下,打開(kāi)數(shù)據(jù)庫(kù)看到一列列的表,很不清晰,對(duì)新入職同事很不友好。 我們一個(gè)

    2024年02月04日
    瀏覽(30)
  • mysql數(shù)據(jù)庫(kù)自動(dòng)備份

    mysql數(shù)據(jù)庫(kù)自動(dòng)備份

    服務(wù)器中數(shù)據(jù)庫(kù)的數(shù)據(jù)是最重要的東西,如果因?yàn)槟承┣闆r導(dǎo)致數(shù)據(jù)庫(kù)數(shù)據(jù)錯(cuò)誤,數(shù)據(jù)錯(cuò)亂或數(shù)據(jù)庫(kù)崩潰,這時(shí)一定要及時(shí)的修復(fù),但如果數(shù)據(jù)丟失或數(shù)據(jù)沒(méi)法用了,這時(shí)就要回滾數(shù)據(jù)了,而這時(shí)就需要我們經(jīng)常的備份數(shù)據(jù)庫(kù)的數(shù)據(jù) 一般別人都會(huì)推薦使用Navicat來(lái)備份和連接數(shù)據(jù)庫(kù),但

    2024年02月02日
    瀏覽(24)
  • mysql自動(dòng)備份多個(gè)數(shù)據(jù)庫(kù)

    1.編寫(xiě)mysql自動(dòng)備份shell腳本,比如在/opt/data/backup/sh路徑下創(chuàng)建文件 mysql_backup.sh 2.為文件添加執(zhí)行權(quán)限: 3.檢查shell腳本編寫(xiě)是否有誤 這里可分成2步,第1步,執(zhí)行mysql備份命令: 注意將上面的變量替換為真實(shí)值,存放目錄需真實(shí)存在。如果能備份成功,且將數(shù)據(jù)輸出到備份的

    2024年02月17日
    瀏覽(32)
  • Windows下自動(dòng)備份MySQL數(shù)據(jù)庫(kù)

    Windows下自動(dòng)備份MySQL數(shù)據(jù)庫(kù)

    原文鏈接:Windows下自動(dòng)備份MySQL數(shù)據(jù)庫(kù) | Elvin 為什么做數(shù)據(jù)庫(kù)自動(dòng)備份? 公司之前一個(gè)很久沒(méi)用的項(xiàng)目服務(wù)器突然掛了,原因居然是數(shù)據(jù)庫(kù)不見(jiàn)了,莫名其妙;看了日志、什么都查了,數(shù)據(jù)庫(kù)消失的干干凈凈????這可真是要命,還好我之前有導(dǎo)出過(guò)sql文件做本地?cái)?shù)據(jù)庫(kù),

    2024年02月03日
    瀏覽(93)
  • Windows下手動(dòng)、自動(dòng)備份Mysql數(shù)據(jù)庫(kù)(mysqldump)

    Windows下手動(dòng)、自動(dòng)備份Mysql數(shù)據(jù)庫(kù)(mysqldump)

    (本文實(shí)例環(huán)境及版本 MySql8.0.13) 1.1 命令行備份 cmd 先進(jìn)入mysql所在的bin目錄下,如:cd D:softwaremysqlmysql-8.0.13-winx64bin mysqldump -u root -p 數(shù)據(jù)庫(kù) [表名1 表名2…] 文件備份路徑 如把testdb數(shù)據(jù)庫(kù)備份到 D:ydTest.sql 輸入密碼后回車 mysqldump -u root -p testdb d:ydTest.sql 如果你希望備份是

    2023年04月19日
    瀏覽(34)
  • .net 6 EF Core MySql數(shù)據(jù)庫(kù)表生成實(shí)體類命令

    安裝下面這幾個(gè)包 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Tools Microsoft.EntityFrameworkCore.Design Pomelo.EntityFrameworkCore.MySql Scaffold-DbContext “server=127.0.0.1;port=3306;database=DB;uid=root;pwd=pwdpwd;sslmode=none;” Pomelo.EntityFrameworkCore.MySql -OutputDir Models -Force -NoOnConfiguring -NoPluralize -Context “D

    2024年02月05日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包