Django 操做數據庫三

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  自動建立---永遠是建立時的時間

注意:一、若是設置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 上傳

相關文章
相關標籤/搜索