国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 幫助中心 > 正文

django數據模型(Model)的字段類型解析

2024-07-09 22:42:50
字體:
來源:轉載
供稿:網友

字段類型(Field types)

1、AutoField

它是一個根據 ID 自增長的 IntegerField 字段。通常,你不必直接使用該字段。如果你沒在別的字段上指定主 鍵,Django 就會自動添加主鍵字段。

2、BigIntegerField

64位整數,類似于IntegerField,范圍從-9223372036854775808 到9223372036854775807。默認的form widget 是TextInput。

3、BooleanField

一個布爾值(true/false)字段。
默認的form widget是CheckboxInput。
如果要使用null作為空值,可使用NullBooleanField。

4、CharField

class CharField(max_length=None[, **options])
它是一個字符串字段,對小字符串和大字符串都適用。
對于更大的文本,應該使用TextField 。
默認的form widget是TextInput。
CharField 有一個必須傳入的參數:max_length,字段的最大字符數。它作用于數據庫層級和 Django 的數據驗證層級。

5、DateField

class DateField([auto_now=False, auto_now_add=False, **options])
該字段利用 Python 的 datetime.date 實例來表示日期。下面是它額外的可選參數:
DateField.auto_now:每一次保存對象時,Django 都會自動將該字段的值設置為當前時間。一般用來表示 "最后修改" 時間。要注意使用的是當前日期,而并非默認值,所以
不能通過重寫默認值的辦法來改變保存時間。
DateField.auto_now_add:在第一次創建對象時,Django 自動將該字段的值設置為當前時間,一般用來表示對象創建時間。它使用的同樣是當前日期,而非默認值。
默認的form widget是TextInput。
Note:當auto_now或者auto_now_add設置為True時,字段會有editable=True和blank=True的設定。

6、DateTimeField

class DateTimeField([auto_now=False, auto_now_add=False, **options])
該字段利用 datetime.datetime 實例表示日期和時間。該字段所按受的參數和 DateField 一樣。
默認的form widget是TextInput。Django 的admin使用兩個帶有 JavaScript 快捷選項TextInput分別表示日期和時間。

7、DecimalField

class DecimalField(max_digits=None, decimal_places=None[, **options])
它是使用 Decimal 實例表示固定精度的十進制數的字段。它有兩個必須的參數:
DecimalField.max_digits:數字允許的最大位數
DecimalField.decimal_places:小數的最大位數
例如,要存儲的數字最大值是999,而帶有兩個小數位,你可以使用:

models.DecimalField(..., max_digits=5, decimal_places=2)
要存儲大約是十億級且帶有10個小數位的數字,就這樣寫:
models.DecimalField(..., max_digits=19, decimal_places=10)

8、EmailField

class EmailField([max_length=75, **options])
它是帶有 email 合法性檢測的A CharField 。
Note:最大長度默認為75,并不能存儲所有與RFC3696/5321兼容的email地址。如果要存儲所有,請設置
max_length=254。設置為75是歷史遺留問題。

9、TextField

class TextField([**options])
大文本字段。默認的form widget是Textarea。

ps:下面看下django數據模型on_delete, db_constraint的使用

# 半夜擼代碼  正在一頓操作猛如虎的時候,發現刪了其中一張表的某條記錄,結果發現其他表跟這個字段的關聯的也都被刪除,我已經寫了db_constraint=False 難道我用錯了,最后只能查資料,原來想斷關聯還想連表查詢做這個是不夠的,還需要null=True, blank=True,on_delete=models.SET_NUL這里我之前寫的是on_delete=models.CASCADE 默認級聯刪除,坑了自己一把,還有昨天晚上也是,后臺寫好,萬事具備的時候,準備開擼前臺,ajax請求就是不通,各種改地址 端口,最后居然是配置里'corsheaders.middleware.CorsMiddleware'這個沒加,唉,擼個代碼配環境還要配幾個小時?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肃南| 夏津县| 德钦县| 紫金县| 芒康县| 同江市| 民勤县| 定边县| 卢龙县| 铜鼓县| 融水| 宝清县| 宜宾市| 宽甸| 聂荣县| 湖南省| 怀来县| 阜平县| 黔西县| 临朐县| 南部县| 甘谷县| 鹿泉市| 武穴市| 山阴县| 清丰县| 汉阴县| 林西县| 鹿邑县| 庆城县| 和静县| 牙克石市| 金湖县| 泰顺县| 普宁市| 延川县| 荣成市| 丰原市| 镇赉县| 正阳县| 年辖:市辖区|