django之模型類 遷移和資料庫表之間的關係

2022-09-11 01:42:12 字數 1993 閱讀 1201

環境配置:ubuntu 16.04,django 1.8.2,mysql-python 1.2.5

目的是為了了解模型類的定義和其對應資料庫裡面表的關係

實測發現:

關於模型類和資料庫裡面的表關係,模型類裡面定義的類屬性是為了生成資料庫裡面的表結構使用的,類似mysql裡面建立乙個表。

乙個模型類,對應著資料庫裡面的乙個表。

乙個類屬性,對應著資料庫表裡面的乙個字段

乙個類屬性的型別(如charfield),對應著資料庫裡面字段型別。

進入python manage.py shell執行的python

shell環境,對模型類及其物件操作,類似對錶及某個字段操作。注意:物件沒有呼叫類屬性,python也允許這麼做。下面物件的屬性和類屬性同名主要是為了對映,知道往表哪個地方新增資料。

往表裡面增加資料,類似資料庫表的insert語句

b = bookinfo()

b.btitle = 'abc

b.s**e()

修改表資料,類似表的update操作

b = bookinfo.objects.get(pk=1)     pk是主鍵 primarykehy        

b.btitle ='abc'

b.s**e()

查詢表

bookinfo.objects.all()
刪除表

b.delete()      

bookinfo.objects.all() 檢視結果

測試流程如下:

一 虛擬環境下建立乙個專案test4和應用booktest,專案test4使用mysql資料庫裡面的test資料庫,此時test資料庫為空

二 建立模型類

三 進行遷移,並觀察資料庫test中表變化,發現

1 生成遷移檔案:根據模型類生成sql語句,遷移檔案被生成到應用的migrations目錄

2 執行遷移:執行sql語句生成資料表

四 進入python manage.py shell執行後的python shell環境,對模型類及物件進行操作,觀察表變化

通過物件導向方法,新增物件屬性進而往表新增資料

為了在物件導向過程看的更直觀,在模型類裡面新添str方法

通過物件導向方法,修改物件屬性而修改表,

通過物件導向方法,刪除物件進而刪除表中該物件對應一條資料

Django模型修改及資料遷移

migrations django中對model進行修改是件麻煩的事情,syncdb命令僅僅建立資料庫裡還沒有的表,它並不對已存在的資料表進行同步修改,也不處理資料模型的刪除。如果你新增或修改資料模型裡的字段,或是刪除了乙個資料模型,你需要手動在資料庫裡進行相應的修改或者使用south。django...

django 06 模型類遷移建表

一 資料庫的準備操作 1 建立資料庫 mysql uroot pmysql create database django demo default charset utf8 2 配置資料庫 修改setting databases 3 安裝mysql資料庫的客戶端驅動 先進入虛擬環境 然後安裝客戶端驅...

django之模型類的建立

接下來首先以 圖書 英雄 管理為例進行演示。建立應用booktest,在models.py 檔案中定義模型類。from django.db import models 定義圖書模型類bookinfo class bookinfo models.model btitle models.charfiel...