python-django 模型model字段类型说明

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,标签,内含索引

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

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

V=models.PositiveIntegerField(<**options>)    #int 正整数

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

V=models.PositiveSmallIntegerField(<**options>)    #smallint 正整数




V=models.AutoField(**options)    #int;在Django代码内是自增

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上可以设置上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>)    #外键,关联其它模型,创建关联索引

V=models.ManyToManyField(othermodel<, **options>)    #多对多,关联其它模型,创建关联表

V=models.OneToOneField(othermodel<, parent_link=False, **options>)    #一对一,关联表属性


django 中model作为数据资源指定了以及一些处理该相应的功能。通常情况下,每个model对应数据库中的一张表 每个model都是从django.core.meta.Model中派生出来的model中每个属性(class attribute)对应着数据库表中的一个信息(Modelmetadata)在类中被称作METAField Objects每个class attributes对应着数据库中的一个,其应该是由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关键以外,第一个可选参数是用来为命名的,如果不设置,系统会自动为起起名。sites = meta.ManyToManyField(site,verbose_name="list of sites")

Field 选项

null     null 缺省设置为false.通常不将其用于字符型上,比如CharField,TextField上.字符型如果没有值会返回空字符串。

blank    该是否可以为空。如果为假,则必须有值

choices    一个用来选择值的2维元组。第一个值是实际存储的值,第二个用来方便进行选择。    SEX_CHOICES= (('F','Female'),('M','Male'),) coredb_columndb_index    如果为真将为此创建索引

default    缺省值

editable    如果为假,admin模式下将不能改写。缺省为真

help_text    admin模式下帮助文档

primary_key    设置主键。如果没有设置django创建表时会自动加上    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转换为radio显示。只用于ForeignKey或者设置了choices

unique    数据唯一

unique_for_date    title =  meta.CharField(maxlength=30,unique_for_date='pub_date')    系统将不允许title和pub_date两个都相同的数据重复出现 unique_for_month / unique_for_year

validator_list    有效性检查。非有效产生 django.core.validators.ValidationError 错误

Field Types

AutoField     自动增长的整型。通常无需自己添加

BooleanFieldCharField    对于大量文字应该使用TextField。参数: maxlength

DateField    参数:

auto_now  自动设置为对象保存时刻的时间。对于类似最后改动之类的应用很有效   

auto_now_add  从最初保存对象至今的增量时间

DateTimeField 同上EmailField     检查是否为email的CharField

FileField    保存文件的相对路径名称    绝对路径需要在setting中设置 MEDIA_ROOT。对于ImageField设置 MEDIA_URL。    参数upload_to.相对于MEDIA_ROOT目录的子目录    通过get_<fieldname>_url获取绝对路径

FilePathField    通过给定参数获取文件列表(个人感觉) path 必须要有。 文件系统的绝对路径    match 可选。一个正则表达式。用来做文件筛选过滤    recursive 可选。True 包含子目录查找    FilePathField(path="/home/images", match="foo.*" , recursive=True)

FloatField    浮点数字。两个必须选项    max_digits 数字最多位数    decimal_places 小数点位置    meta.FloatField(...,max_digits=5,decimal_places=2)   /////100.00 ImageField

基本上同FileField.会进行文件格式检查。两个额外选项    height_field, width_field 如果设置这两项,会自动对图片进行缩放后再保存   

需要python Imaging library

IntegerFieldIPAddressField   

"10.1.1.3" NullBooleanField   

比BooleanField多了一个NULL状态 PhoneNumberField   

美国格式电话号码 xxx-xxx-xxxx. CharField PositiveIntegerField   

正整数 PositiveSmallIntegerField    一个小的正整数。根据数据库的设置 SlugField    小片断。

什么都可以。通常用来存url    SlugField 被暗指 maxlength=50 db_index=True   

选项: prepopulate_from 一个用来自动生成slug的列表 SmallIntegerFieldTextField TimeField

选项: auto-population(可能不对) from DateField and DateTimeField URLField   

选项: verify_exists  如果为True ,系统自动检查该url是否存在不为404 USStateField   

两字符美国州简写 XMLField    保存xml数据。   

选项:schema_path .指定relaxNG格式schema用来检验xml合法性

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339

推荐阅读更多精彩内容