======================= 大爽歌作,made by big shuang =======================
二、各種Field(字段)說明
一般來說,Field不需要另行導入,因爲導入models就夠了,Field類都在models
from django.db import models
1 基類django.db.models.Field
django.db.models.Field
是所有Field類的基類,以下簡稱Field
Field
的常見屬性(建立實例時可用)
null
: 是否能爲空,默認爲False
default
: 默認值,默認爲False
primary_key
: 是否爲主鍵,默認爲False
如果沒有爲模型中的任何字段指定primary_key=True
,Django將自動添加一個AutoField(id
)來保存主鍵。
primary_key=True
表示null=False,unique=True
。一個Model上只允許有一個主鍵。
主鍵字段是隻讀的。如果更改現有對象上主鍵的值,然後保存它,將在舊對象的旁邊創建一個新對象。unique
: 是否唯一,默認爲False
。choices
: 給Field指定可以選擇的值(比如性別字段往往需要指定男女),默認爲None
(即不指定)
例子:
class Person(models.Model):
gender = (
# 每個元組中的第一個元素是要在模型上設置的實際值,第二個元素是用戶看到的值。
('male', '男'),
('female', '女'),
)
sex = models.CharField(max_length=32, choices=gender, default='男')
help_text
: 與表單部件一起顯示的輔助信息文本,常常用於提示字段輸入格式(可以寫HTML)
例子
help_text="Please use the following format: <em>YYYY-MM-DD</em>."
2 常用類
CharField
最常用的,字符串類型字段
額外的必需參數:
max_length
: 字段的最大長度(字符)。
補充: max_length最好不要超過255,參考:database backend notes。對於大量文本請使用TextField
IntegerField
整數類型字段
補充:從-2147483648到2147483647的值在Django支持的所有數據庫中都是安全的。