django提供了乙個抽象層(「model」)來構建和管理web應用程式的資料。
django中遵循 code frist 的原則,即:根據**中定義的類來自動生成資料庫表。
1. 建立表
a、基本結構
from django.db import models
class userinfo(models.model):
name = models.charfield(max_length=30)
email = models.emailfield()
memo = models.textfield()
1、null=true
資料庫中欄位是否可以為空
2、blank=true
django的 admin 中新增資料時是否可允許空值
3、primary_key = false
主鍵,對autofield設定主鍵後,就會代替原來的自增 id 列
4、auto_now 和 auto_now_add
auto_now 自動建立---無論新增或修改,都是當前操作的時間
auto_now_add 自動建立---永遠是建立時的時間
5、choices
gender_choice = (
(u'm', u'male'),
(u'f', u'female'),
)gender = models.charfield(max_length=2,choices = gender_choice)
6、max_length
7、default 預設值
8、verbose_name admin中字段的顯示名稱
9、name|db_column 資料庫中的欄位名稱
10、unique=true 不允許重複
11、db_index = true 資料庫索引
12、editable=true 在admin裡是否可編輯
13、error_messages=none 錯誤提示
14、auto_created=false 自動建立
15、help_text 在admin中提示幫助資訊
16、validators=
17、upload-to
1、models.autofield 自增列 = int(11)
如果沒有的話,缺省會生成乙個名稱為 id 的列,如果要顯示的自定義乙個自增列,必須將給列設定為主鍵 primary_key=true。
2、models.charfield 字串字段
必須 max_length 引數
3、models.booleanfield 布林型別=tinyint(1)
不能為空,blank=true
4、models.comaseparatedintegerfield 用逗號分割的數字=varchar
繼承charfield,所以必須 max_lenght 引數
5、models.datefield 日期型別 date
對於引數,auto_now = true 則每次更新都會更新這個時間;auto_now_add 則只是第一次建立新增,之後的更新不再改變。
6、models.datetimefield 日期型別 datetime
同datefield的引數
7、models.decimal 十進位制小數型別 = decimal
必須指定整數字max_digits和小數字decimal_places
8、models.emailfield 字串型別(正規表示式郵箱) =varchar
對字串進行正規表示式
9、models.floatfield 浮點型別 = double
10、models.integerfield 整形
11、models.bigintegerfield 長整形
integer_field_ranges =
12、models.ipaddressfield 字串型別(ip4正規表示式)
13、models.genericipaddressfield 字串型別(ip4和ip6是可選的)
引數protocol可以是:both、ipv4、ipv6
驗證時,會根據設定報錯
14、models.nullbooleanfield 允許為空的布林型別
15、models.positiveintegerfiel 正integer
16、models.positivesmallintegerfield 正smallinteger
17、models.slugfield 減號、下劃線、字母、數字
18、models.smallintegerfield 數字
資料庫中的字段有:tinyint、smallint、int、bigint
19、models.textfield 字串=longtext
20、models.timefield 時間 hh:mm[:ss[.uuuuuu]]
21、models.urlfield 字串,位址正規表示式
22、models.binaryfield 二進位制
23、models.imagefield
24、models.filepathfield 檔案
Django model欄位型別清單
django 通過 models 實現資料庫的建立 修改 刪除等操作,本文為模型中一般常用的型別的清單,便於查詢和使用 charfield.max length 字元的最大長度,django會根據這個引數在資料庫層和校驗層限制該字段所允許的最大字元數。auto now 當物件被儲存時,自動將該字段的...
Django model欄位型別清單
django 通過 models 實現資料庫的建立 修改 刪除等操作,本文為模型中一般常用的型別的清單,便於查詢和使用 charfield.max length 字元的最大長度,django會根據這個引數在資料庫層和校驗層限制該字段所允許的最大字元數。auto now 當物件被儲存時,自動將該字段的...
django Model 字段型別,選項
示例 class test models.model name models.charfield max length 20 add time models.datetimefield 字段型別 booleanfield true false 字段,此字段的預設表單控制是checkboxinput ...