python-django 模型model字段類型說(shuō)明

V=models.CharField(max_length=None<, **options>)    #varchar

V=models.EmailField(<max_length=75, **options="">)    #varchar

V=models.URLField(<verify_exists=true, **options="" max_length="200,">)    #varchar

V=models.FileField(upload_to=None<, max_length=100, **options>)    #varchar #upload_to指定保存目錄可帶格式摘投,

V=models.ImageField(upload_to=None<, height_field=None, width_field=None, max_length=100, **options>)

V=models.IPAddressField(<**options>)    #varchar

V=models.FilePathField(path=None<, match=None, recursive=False, max_length=100, **options>) #varchar

V=models.SlugField(<max_length=50, **options="">)    #varchar,標(biāo)簽,內(nèi)含索引

V=models.CommaSeparatedIntegerField(max_length=None<, **options>)    #varchar

V=models.IntegerField(<**options>)    #int

V=models.PositiveIntegerField(<**options>)    #int 正整數(shù)

V=models.SmallIntegerField(<**options>)    #smallint

V=models.PositiveSmallIntegerField(<**options>)    #smallint 正整數(shù)




V=models.AutoField(**options)    #int;在Django代碼內(nèi)是自增

V=models.DecimalField(max_digits=None, decimal_places=None<, **options>)    #decimal

V=models.FloatField(<**options>)    #real V=models.BooleanField(**options)    #boolean或bit

V=models.NullBooleanField(<**options>)    #bit上可以設(shè)置上null值

V=models.DateField(<auto_now=false, **options="" auto_now_add="False,">)  #date #auto_now最后修改記錄的日期;auto_now_add添加記錄的日期

V=models.DateTimeField(<auto_now=false, **options="" auto_now_add="False,">)    #datetime

V=models.TimeField(<auto_now=false, **options="" auto_now_add="False,">)    #time

V=models.TextField(<**options>)    #text

V=models.XMLField(schema_path=None<, **options>)    #text ——————————————————————————–

V=models.ForeignKey(othermodel<, **options>)    #外鍵雷蹂,關(guān)聯(lián)其它模型铺浇,創(chuàng)建關(guān)聯(lián)索引

V=models.ManyToManyField(othermodel<, **options>)    #多對(duì)多却舀,關(guān)聯(lián)其它模型逛漫,創(chuàng)建關(guān)聯(lián)表

V=models.OneToOneField(othermodel<, parent_link=False, **options>)    #一對(duì)一,關(guān)聯(lián)表屬性


django 中model作為數(shù)據(jù)資源指定了以及一些處理該相應(yīng)的功能赘艳。通常情況下酌毡,每個(gè)model對(duì)應(yīng)數(shù)據(jù)庫(kù)中的一張表 每個(gè)model都是從django.core.meta.Model中派生出來(lái)的model中每個(gè)屬性(class attribute)對(duì)應(yīng)著數(shù)據(jù)庫(kù)表中的一個(gè)信息(Modelmetadata)在類中被稱作METAField Objects每個(gè)class attributes對(duì)應(yīng)著數(shù)據(jù)庫(kù)中的一個(gè),其應(yīng)該是由meta.Filed的派生的蕾管。

from django.core import metaclass Person(meta.Model):??? first_name = meta.CharField(maxlength=30)??? last_name = meta.CharFiled("lastname",maxlength=30) 除了 ForeignKey, ManytoManyFiled OneToOneField 使用verbose_name關(guān)鍵以外枷踏,第一個(gè)可選參數(shù)是用來(lái)為命名的,如果不設(shè)置掰曾,系統(tǒng)會(huì)自動(dòng)為起起名旭蠕。sites = meta.ManyToManyField(site,verbose_name="list of sites")

Field 選項(xiàng)

null???? null 缺省設(shè)置為false.通常不將其用于字符型上,比如CharField,TextField上.字符型如果沒(méi)有值會(huì)返回空字符串。

blank??? 該是否可以為空掏熬。如果為假佑稠,則必須有值

choices??? 一個(gè)用來(lái)選擇值的2維元組。第一個(gè)值是實(shí)際存儲(chǔ)的值旗芬,第二個(gè)用來(lái)方便進(jìn)行選擇舌胶。??? SEX_CHOICES= (('F','Female'),('M','Male'),) coredb_columndb_index??? 如果為真將為此創(chuàng)建索引

default??? 缺省值

editable??? 如果為假,admin模式下將不能改寫(xiě)疮丛。缺省為真

help_text??? admin模式下幫助文檔

primary_key??? 設(shè)置主鍵幔嫂。如果沒(méi)有設(shè)置django創(chuàng)建表時(shí)會(huì)自動(dòng)加上??? id = meta.AutoField('ID', primary_key=True)??? primary_key=True implies blank=False, null=False and unique=True. Only one primary key is allowed on an object. radio_admin??? 用于admin模式下將select轉(zhuǎn)換為radio顯示。只用于ForeignKey或者設(shè)置了choices

unique??? 數(shù)據(jù)唯一

unique_for_date??? title =? meta.CharField(maxlength=30,unique_for_date='pub_date')??? 系統(tǒng)將不允許title和pub_date兩個(gè)都相同的數(shù)據(jù)重復(fù)出現(xiàn) unique_for_month / unique_for_year

validator_list??? 有效性檢查誊薄。非有效產(chǎn)生 django.core.validators.ValidationError 錯(cuò)誤

Field Types

AutoField???? 自動(dòng)增長(zhǎng)的整型履恩。通常無(wú)需自己添加

BooleanFieldCharField??? 對(duì)于大量文字應(yīng)該使用TextField。參數(shù): maxlength

DateField??? 參數(shù):

auto_now? 自動(dòng)設(shè)置為對(duì)象保存時(shí)刻的時(shí)間呢蔫。對(duì)于類似最后改動(dòng)之類的應(yīng)用很有效???

auto_now_add? 從最初保存對(duì)象至今的增量時(shí)間

DateTimeField 同上EmailField???? 檢查是否為email的CharField

FileField??? 保存文件的相對(duì)路徑名稱??? 絕對(duì)路徑需要在setting中設(shè)置 MEDIA_ROOT切心。對(duì)于ImageField設(shè)置 MEDIA_URL。??? 參數(shù)upload_to.相對(duì)于MEDIA_ROOT目錄的子目錄??? 通過(guò)get_<fieldname>_url獲取絕對(duì)路徑

FilePathField??? 通過(guò)給定參數(shù)獲取文件列表(個(gè)人感覺(jué))?path 必須要有咐刨。 文件系統(tǒng)的絕對(duì)路徑??? match 可選昙衅。一個(gè)正則表達(dá)式。用來(lái)做文件篩選過(guò)濾??? recursive 可選定鸟。True 包含子目錄查找??? FilePathField(path="/home/images", match="foo.*" , recursive=True)

FloatField??? 浮點(diǎn)數(shù)字而涉。兩個(gè)必須選項(xiàng)??? max_digits 數(shù)字最多位數(shù)??? decimal_places 小數(shù)點(diǎn)位置??? meta.FloatField(...,max_digits=5,decimal_places=2)?? /////100.00 ImageField

基本上同F(xiàn)ileField.會(huì)進(jìn)行文件格式檢查。兩個(gè)額外選項(xiàng)??? height_field, width_field 如果設(shè)置這兩項(xiàng)联予,會(huì)自動(dòng)對(duì)圖片進(jìn)行縮放后再保存???

需要python?Imaging library

IntegerFieldIPAddressField???

"10.1.1.3" NullBooleanField???

比BooleanField多了一個(gè)NULL狀態(tài) PhoneNumberField???

美國(guó)格式電話號(hào)碼 xxx-xxx-xxxx. CharField PositiveIntegerField???

正整數(shù) PositiveSmallIntegerField??? 一個(gè)小的正整數(shù)啼县。根據(jù)數(shù)據(jù)庫(kù)的設(shè)置 SlugField??? 小片斷。

什么都可以沸久。通常用來(lái)存url??? SlugField 被暗指 maxlength=50 db_index=True???

選項(xiàng): prepopulate_from 一個(gè)用來(lái)自動(dòng)生成slug的列表 SmallIntegerFieldTextField TimeField

選項(xiàng): auto-population(可能不對(duì)) from DateField and DateTimeField URLField???

選項(xiàng): verify_exists? 如果為T(mén)rue 季眷,系統(tǒng)自動(dòng)檢查該url是否存在不為404 USStateField???

兩字符美國(guó)州簡(jiǎn)寫(xiě) XMLField??? 保存xml數(shù)據(jù)。???

選項(xiàng):schema_path .指定relaxNG格式schema用來(lái)檢驗(yàn)xml合法性

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末卷胯,一起剝皮案震驚了整個(gè)濱河市子刮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌窑睁,老刑警劉巖挺峡,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異担钮,居然都是意外死亡橱赠,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)箫津,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)狭姨,“玉大人宰啦,你說(shuō)我怎么就攤上這事”模” “怎么了赡模?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)惕耕。 經(jīng)常有香客問(wèn)我纺裁,道長(zhǎng),這世上最難降的妖魔是什么司澎? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任欺缘,我火速辦了婚禮,結(jié)果婚禮上挤安,老公的妹妹穿的比我還像新娘谚殊。我一直安慰自己,他們只是感情好蛤铜,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布嫩絮。 她就那樣靜靜地躺著,像睡著了一般围肥。 火紅的嫁衣襯著肌膚如雪剿干。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,785評(píng)論 1 314
  • 那天穆刻,我揣著相機(jī)與錄音置尔,去河邊找鬼。 笑死氢伟,一個(gè)胖子當(dāng)著我的面吹牛榜轿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播朵锣,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼谬盐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了诚些?” 一聲冷哼從身側(cè)響起飞傀,我...
    開(kāi)封第一講書(shū)人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎诬烹,沒(méi)想到半個(gè)月后助析,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡椅您,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了寡键。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掀泳。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡雪隧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出员舵,到底是詐尸還是另有隱情脑沿,我是刑警寧澤,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布马僻,位于F島的核電站庄拇,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏韭邓。R本人自食惡果不足惜措近,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望女淑。 院中可真熱鬧瞭郑,春花似錦、人聲如沸鸭你。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)师枣。三九已至纱注,卻和暖如春姑尺,著一層夾襖步出監(jiān)牢的瞬間是牢,已是汗流浹背驶兜。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工铆铆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留建车,地道東北人俺夕。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓裳凸,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親劝贸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子姨谷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容