Python 建立已存在的資料表模型models

2021-10-03 19:30:57 字數 3027 閱讀 9692

首先是先建立django專案。有兩種方式:一種使用pycharm建專案;一種是使用命令。

生成模型檔案

python3 manage.py inspectdb
新建表模型建立操作可以參考:

1).建立資料庫 - webdb

create database webdb default charset utf8 collate utf8_general_ci;

2).django的資料庫配置

在settings.py中配置資料庫的資訊

databases =

}1.engine:指定要連線的資料庫的驅動程式

連線mysql的話可以取值為:

'django.db.backends.mysql'

2.name:指定要連線到的資料庫的名稱

連線mysql的話可以取值為:

資料庫名

3.user:指定登入到資料庫管理系統的使用者名稱

連線到mysql的話,可以為:root

4.password:指定登入到資料庫管理系統的密碼

5.host:指定要連線到的主機位址

如果是本機的話:127.0.0.1或localhost

6.port:指定埠號

mysql的預設為3306

示例

databases = 

}

3).編寫models

1.models的語法規範

class classname(models.model):

屬性 = models.fieldype(field_options)

fieldtype : 字段型別

charfield()

field_options:字段選項(字段說明)

max_length=30

2. 常見的欄位名和字段選項

字段型別 fieldtype

1.booleanfield()

程式語言中使用true 或 false 來表示該列的值

資料庫中使用1 或0 來表示具體的值

資料型別為:tinyint

2.charfield()

程式語言中使用字串來表示該列的值

資料庫中也是字串

資料型別為:varchar

注意:必須要指定max_length引數值

3.datefield()

程式語言中使用字串或者date型別的資料表示該值

資料庫中使用的是時間字串

資料型別為;date

4.datetimefield()

資料型別為:datetime

5.decimalfield()

程式語言中使用數字(小數)來表示該列的值

資料庫中使用小數表示

資料型別:decimal

money = models.decimalfield(max_digits=7,decimal_places=2)

6.floatfield()

程式語言中使用數字(小數)來表示該列的值

資料庫使用小數

資料型別:float

7.integerfield()

資料型別:int

8.emailfield()

程式語言中使用字串來表示一段email位址

資料庫中使用字串表示

資料型別:varchar

9.urlfield()

程式語言中使用字串來表示一段**

資料庫中使用字串表示

資料型別:varchar

10.imagefield()

目的:儲存的路徑

資料型別:varchar

image = models.imagefield(upload_to='images/')

字段選項:field_options

1.default

作用:為當前字段指定預設值

2.null

作用:指定當前字段是否為空,預設值為false,不能為空

3.db_index

作用:指定是否為當前指定索引

4.db_column

作用:指定當前屬性對映到表中的類名,如果不指定則採用屬性名稱作為類名

示例

# 建立乙個實體類 - publisher(出版社)

# 1.name : 出版社名稱(varchar(30))

# 2.address: 出版社所在位址(varchar(200))

# 3.city:出版社所在的城市(varchar(50))

# 4.country:出版社所在的國家(varchar(50))

# 5.website:出版社的**(varchar(200))

class publisher(models.model):

name = models.charfield(max_length=30)

address = models.charfield(max_length=200)

city = models.charfield(max_length=50)

country = models.charfield(max_length=50)

website = models.urlfield()

4)  將資料同步回資料庫

先後執行第1 步和第2 步

1. ./manage.py makemigrations

作用:將每個應用下的modeles.py檔案生成乙個資料庫的中間檔案,並將中間檔案儲存

到migrations的目錄中

2. /manage.py migrate

作用:將每個應用下的migrations目錄中的中間檔案同步到資料庫中

建立資料表

語法 create table 表名 欄位名稱 字段型別 字段特徵 是否為null,預設值 標識列 主鍵 唯一鍵 外來鍵 check約束 欄位名稱 字段型別 字段特徵 是否為null,預設值 標識列 主鍵 唯一鍵 外來鍵 check約束 建立老師表teacher id name gender age...

建立資料表

class users models.model uphone models.charfield max length 20,verbose name 號碼 upwd models.charfield max length 20,verbose name 密碼 uemail models.email...

建立資料表

一 資料表 1 資料表 或表 是資料庫最重要的組成部分之一,是其他物件的基礎 2 表是乙個二維表,行稱為 記錄 列稱為 字段 二 建立資料表 1 首先開啟資料庫 資料庫要存在 show databases 檢視當前所有的資料庫 use 資料庫名稱 開啟指定資料庫 select databases 顯...