null
若是爲 True ,Django 將用 NULL 來在數據庫中存儲空值。 默認值是 False .python
blanksql
若是爲 True ,該字段容許不填。默認爲 False 。在Django admin 中是否爲空數據庫
要注意,這與 null 不一樣。 null 純粹是數據庫範疇的,而 blank 是數據驗證範疇的。若是
一個字段的 blank=True ,表單的驗證將容許該字段是空值。若是字段的 blank=False ,該字
段就是必填的。django
choices :儲存在內存當中,且在django admin 當中會自動生成下拉選擇列表ui
由二元組組成的一個可迭代對象(例如,列表或元組),用來給字段提供選擇項。 若是設置
了choices ,默認的表單將是一個選擇框而不是標準的文本框,並且這個選擇框的選項就是
choices 中的選項spa
from django.db import models class Person(models.Model): SHIRT_SIZES = ( ('S', 'Small'), ('M', 'Medium'), ('L', 'Large'), ) name = models.CharField(max_length=60) shirt_size = models.CharField(max_length=1, choices=SHIRT_SIZES,default=1)
模版獲取choices 的值:https : //my.oschina.net/esdn/blog/832982.net
primary_keycode
若是爲 True ,那麼這個字段就是模型的主鍵 ,對AutoField設置主鍵後,就會代替原來的自增 id 列對象
若是你沒有指定任何一個字段的 primary_key=True ,Django 就會自動添加一個 IntegerField
字段作爲主鍵,因此除非你想覆蓋默認的主鍵行爲,不然不必設置任何一個字段
的 primary_key=True 。blog
from django.db import models class Fruit(models.Model): name = models.CharField(max_length=100, primary_key=True)
Mysql 數據庫默認 ID 爲主鍵,默認狀況下,Django 會給每一個模型添加 自增主鍵字段(AutoField)
id = models.AutoField(primary_key=True)
auto_now 和 auto_now_add
注意:一、若是設置auto_now 和 auto_now_add ,Django Admin 後臺默認爲不顯示狀態,即不可編輯(editable=False),若是要設置爲當前時間,也能夠修改,需以下設置
import django.utils.timezone as timezone # 導入時間模塊 dww = models.DateTimeField(default=timezone.now) # 設置默認爲當前時間
二、自動更新的時候,須要使用 xxx.save() ,時間纔會自動更新
obj = models.xxx.objects.fillter(id=1).first() obj.name='admin' obj.save()
verbose_name Admin中字段的顯示名稱
name|db_column 數據庫中的字段名稱
unique=True 不容許重複 ,惟一索引
db_index = True 數據庫索引
editable=True 在Admin裏是否可編輯
error_messages=None 錯誤提示 ,Django Admin 中的錯誤提示
auto_created=False 自動建立
help_text 在Admin中提示幫助信息
validators=[] 自定義錯誤信息
upload-to 上傳