亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mysql數據庫反向生成Django里面的models指令方式

 更新時間:2020年05月18日 09:11:52   作者:滄海一株蓮  
這篇文章主要介紹了Mysql數據庫反向生成Django里面的models指令方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

python manage.py inspectdb

python manage.py inspect > app/models.py

補充知識:Django框架MySQL數據庫到models模型的映射關系

一、前言

我的數據庫已經用MySQL Workbench設計好了,也插入了一些測試數據,現(xiàn)在開始在Django中設計models模型。本以為順風順水,沒想到也遇到一些bug,現(xiàn)在記錄一下踩坑填坑過程。

二、設計models模型

1. 如果數據庫中表的數量比較多,可以先導出,然后查看對應表的字段,根據不同表設計不同的models類,根據同一張表的不同字段設計類屬性。

用MySQL Workbench導出數據庫操作:

2. 打開credits.sql文件,credits表的信息是:

CREATE TABLE `credits` (
 `user_id` varchar(64) NOT NULL,
 `credits_total` int(64) DEFAULT '0',
 `credits_buy` int(64) DEFAULT '0',
 `time_credits_buy` datetime(6) DEFAULT NULL,
 `credits_before_day` int(32) DEFAULT '0',
 `time_sign_before_day` datetime(6) DEFAULT NULL,
 PRIMARY KEY (`user_id`),
 CONSTRAINT `credits_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `visitors` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

其中,credits表字段信息是:user_id,credits_total,credits_buy,time_credits_buy,credits_before_day,time_sign_before_day

主鍵是:user_id,也是外鍵,關聯(lián)了visitors表的user_id主鍵

3. 設計models類

from django.db import models
 
# 積分信息
class Credits(models.Model):
 # id = models.IntegerField('id主鍵', primary_key=True, auto_created=True)
 # user_id = models.ForeignKey(Visitors,on_delete=models.CASCADE,primary_key=True)
 user = models.ForeignKey(Visitors,on_delete=models.CASCADE,primary_key=True)
 credits_total = models.IntegerField('總積分',default=0)
 credits_buy = models.IntegerField('購買的積分',default=0)
 time_credits_buy = models.DateTimeField('購買的時間',auto_now_add=True)
 credits_before_day = models.IntegerField('前一天簽到的積分',default=0)
 time_sign_before_day = models.DateTimeField('前一天簽到的時間',default=None)
 
 class Meta():
  # credits,為數據庫中的表名
  db_table = 'credits'

注意:

注釋中,# user_id = models.ForeignKey(Visitors,on_delete=models.CASCADE,primary_key=True),是我最開始寫的user_id類屬性,存在問題,如下圖所示:

解決方案:把user_id 改成user即可,user = models.ForeignKey(Visitors,on_delete=models.CASCADE,primary_key=True),正確如下圖:

4. time_credits_buy = models.DateTimeField('購買的時間',auto_now_add=True),time_credits_buy類屬性是時間類型,數據庫中credits表對應的也是時間類型。

注意,剛開始,我的數據庫中把 time_credits_buy 字段設置為varchar(64)類型,而models模型中設置為時間類型,兩邊的類型不一致出現(xiàn)bug,如下圖所示:

特別注意,數據庫中的字段類型,一定要和models定義的類屬性類型一致,否則報錯,有的時候很難發(fā)現(xiàn)bug

三、Django自動生成models

>>> python manage.py inspectdb > app/models.py

如果數據庫表已經存在,執(zhí)行命令,可以自動生成Models模型,實現(xiàn)models與數據表的映射

以上這篇Mysql數據庫反向生成Django里面的models指令方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python與Appium實現(xiàn)手機APP自動化測試的示例代碼

    Python與Appium實現(xiàn)手機APP自動化測試的示例代碼

    本文主要介紹了Python與Appium實現(xiàn)手機APP自動化測試的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • odoo字段訪問控制的操作方法

    odoo字段訪問控制的操作方法

    在 Odoo 中,可以通過幾種方式實現(xiàn)字段的訪問控制?0c;包括通過模型安全規(guī)則、記錄規(guī)則和字段屬性來限制字段的訪問,這篇文章主要介紹了odoo字段訪問控制的相關操作,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • python解析中國天氣網的天氣數據

    python解析中國天氣網的天氣數據

    最近學習python 感覺這門腳本語言十分靈活 而且功能十分強大 尤其是他re庫用于正則匹配十分強大,寫了個例子解析中國天氣網
    2014-03-03
  • Django web自定義通用權限控制實現(xiàn)方法

    Django web自定義通用權限控制實現(xiàn)方法

    這篇文章主要介紹了Django web自定義通用權限控制實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • python神經網絡使用Keras構建RNN訓練

    python神經網絡使用Keras構建RNN訓練

    這篇文章主要為大家介紹了python神經網絡使用Keras構建RNN網絡訓練,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>
    2022-05-05
  • Pytorch-LSTM輸入輸出參數方式

    Pytorch-LSTM輸入輸出參數方式

    這篇文章主要介紹了Pytorch-LSTM輸入輸出參數方式,具有很好的參考價值,希望對大家有所幫助。
    2022-07-07
  • pandas與pyspark計算效率對比分析

    pandas與pyspark計算效率對比分析

    這篇文章主要介紹了pandas與pyspark計算效率對比,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • Django Channels 實現(xiàn)點對點實時聊天和消息推送功能

    Django Channels 實現(xiàn)點對點實時聊天和消息推送功能

    這篇文章主要介紹了Django Channels 實現(xiàn)點對點實時聊天和消息推送功能,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • python中讀取txt文件時split()函數的妙用

    python中讀取txt文件時split()函數的妙用

    這篇文章主要介紹了python中讀取txt文件時split()函數的妙用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python調用jar包方法實現(xiàn)過程解析

    Python調用jar包方法實現(xiàn)過程解析

    這篇文章主要介紹了Python調用jar包方法實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08

最新評論