Django-model

DRY
對于不同數(shù)據(jù)源都應該獨立存在,減少冗余的數(shù)據(jù)。

model就是你唯一可信的真實數(shù)據(jù)源。它包含了你所要存儲數(shù)據(jù)的必須字段和行為信息。Django遵循DRY 目的是讓你可以在一個地方定義你的數(shù)據(jù)模型,并以它來驅(qū)動整個項目
簡單來說就是本地數(shù)據(jù)

from django.db import models
class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
class Choice(models.Model):
    question = models.ForeignKey(Question)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

上面的代碼表明了每一個類都是繼承models.Model,每一個類都有數(shù)個對應數(shù)據(jù)庫字段的類成員變量組成。
每一個類成員變量中必選參數(shù)和可選參數(shù),

可選參數(shù)
方法名 具體用法
default 默認參數(shù)
primary_key 主鍵,默認是遞增數(shù)字
max_length 允許的最大長度
unique 默認是false。唯一值
choices 它是一個可迭代的二元組(例如,列表或是元組),用來給字段提供選擇項。
blank 默認false,可以為空
model子類的方法(部分)
方法名 具體用法
AutoField 必須設置為主鍵的field才能設置,int類型。產(chǎn)生一個自增的主鍵,一個model中不能超過1個值
BigAutoField 自增長的數(shù)據(jù)為8字節(jié)空間
BigIntegerField 返回8字節(jié)的整型類型
BinaryField 二進制類型
BooleanField 布爾型和NullBooleanField有區(qū)別,true/false,本類型不允許出現(xiàn)null
CharField 定長的字符串類型,一般創(chuàng)建時寫入max_length
CommaSeparatedIntegerField 逗號分隔的整數(shù),考慮到數(shù)據(jù)庫的移植性,max_length參數(shù)應該必選
DateField 對應Python的datetime.date,額外的參數(shù):DateField.auto_now表示是否每次修改時改變時間,DateField.auto_now_add 表示是否創(chuàng)建時表示時間,一般來說數(shù)據(jù)庫重要的表都要有這樣的字段記錄創(chuàng)建字段時間個最后一次改變的時間。
TextField 不定長的字符串類型
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容