最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql數(shù)據(jù)庫反向生成Django里面的models指令方式

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

python manage.py inspectdb

python manage.py inspect > app/models.py

補充知識:Django框架MySQL數(shù)據(jù)庫到models模型的映射關(guān)系

一、前言

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

二、設計models模型

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

用MySQL Workbench導出數(shù)據(jù)庫操作:

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,也是外鍵,關(guān)聯(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,為數(shù)據(jù)庫中的表名
  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類屬性是時間類型,數(shù)據(jù)庫中credits表對應的也是時間類型。

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

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

三、Django自動生成models

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

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

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

相關(guān)文章

  • python三引號如何輸入

    python三引號如何輸入

    在本篇文章里小編給大家整理的是關(guān)于python三引號輸入方法及相關(guān)實例,需要的朋友們可以學習下。
    2020-07-07
  • 詳解Python讀取和寫入操作CSV文件的方法

    詳解Python讀取和寫入操作CSV文件的方法

    CSV 文件(逗號分隔值文件)是一種純文本文件,它使用特定的結(jié)構(gòu)來排列表格數(shù)據(jù)。本文將詳細介紹Python中讀取個寫入操作CSV文件的方法,需要的可以參考一下
    2022-03-03
  • 淺談Python的自省Introspection和反射機制Reflection

    淺談Python的自省Introspection和反射機制Reflection

    這篇文章主要介紹了淺談Python的自省Introspection和反射機制Reflection,反射就是通過字符串的形式去對象(模塊)中操作(查找/獲取/刪除/添加)成員,一種基于字符串的事件驅(qū)動,需要的朋友可以參考下
    2023-08-08
  • opencv 圖像禮帽和圖像黑帽的實現(xiàn)

    opencv 圖像禮帽和圖像黑帽的實現(xiàn)

    這篇文章主要介紹了opencv 圖像禮帽和圖像黑帽的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • python 實現(xiàn)UTC時間加減的方法

    python 實現(xiàn)UTC時間加減的方法

    今天小編就為大家分享一篇python 實現(xiàn)UTC時間加減的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python裝飾器基礎(chǔ)概念與用法詳解

    Python裝飾器基礎(chǔ)概念與用法詳解

    這篇文章主要介紹了Python裝飾器基礎(chǔ)概念與用法,結(jié)合實例形式詳細分析了Python裝飾器的概念、功能、用法及相關(guān)操作注意事項,需要的朋友可以參考下
    2018-12-12
  • python自動裁剪圖像代碼分享

    python自動裁剪圖像代碼分享

    這篇文章主要介紹了python自動裁剪圖像代碼分享,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • python循環(huán)接收http請求數(shù)據(jù)方式

    python循環(huán)接收http請求數(shù)據(jù)方式

    這篇文章主要介紹了python循環(huán)接收http請求數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Python字符串、列表、元組、字典、集合的補充實例詳解

    Python字符串、列表、元組、字典、集合的補充實例詳解

    這篇文章主要介紹了Python字符串、列表、元組、字典、集合,結(jié)合實例形式詳細分析了Python字符串、列表、元組、字典、集合常見函數(shù)使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-12-12
  • python使用cookie庫操保存cookie詳解

    python使用cookie庫操保存cookie詳解

    Python中Cookie模塊(python3中為http.cookies)提供了一個類似字典的特殊對象SimpleCookie,其中存儲并管理著稱為Morsel的cookie值集合,這里介紹了python操作cookie的使用方法
    2014-03-03

最新評論

湖南省| 通山县| 商河县| 武宣县| 永和县| 庆安县| 卫辉市| 榆林市| 吴桥县| 衡水市| 湘潭市| 历史| 偏关县| 宿迁市| 紫云| 视频| 德钦县| 阳春市| 临澧县| 惠来县| 嘉鱼县| 师宗县| 屯昌县| 麻栗坡县| 阳西县| 克什克腾旗| 巴里| 绥德县| 贺州市| 烟台市| 二连浩特市| 思茅市| 福贡县| 靖宇县| 温州市| 务川| 章丘市| 江华| 宝山区| 忻城县| 射洪县|