您的位置:首页 > 编程语言 > Go语言

Django Model 字段类型

2012-11-25 21:03 465 查看
V=models.CharField(max_length=None[, **options])    
#varchar

V=models.EmailField([max_length=75, **options])     #varchar

V=models.URLField([verify_exists=True, max_length=200, **options])    #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, auto_now_add=False, **options])    #date
#auto_now最后修改记录的日期;auto_now_add添加记录的日期

V=models.DateTimeField([auto_now=False, auto_now_add=False, **options])    #datetime

V=models.TimeField([auto_now=False, auto_now_add=False, **options])    #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])    #一对一,字段关联表属性

 

 

字段列表纵览表

 

字段名
参数
意义
AutoField

 

一个能够根据可用ID自增的 IntegerField

BooleanField

 

一个真/假(true/false)字段

CharField

 (max_length)

一个字符串字段,适用于中小长度的字符串。对于长段的文字,请使用 TextField

CommaSeparatedIntegerField

 (max_length)

一个用逗号分隔开的整数字段

DateField

([auto_now],  [auto_now_add])

日期字段

DateTimeField

 

时间日期字段,接受跟 DateField 一样的额外选项

EmailField

 

一个能检查值是否是有效的电子邮件地址的 CharField

FileField

(upload_to)

一个文件上传字段

FilePathField

(path,[match],[recursive])

一个拥有若干可选项的字段,选项被限定为文件系统中某个目录下的文件名

FloatField

(max_digits,decimal_places)

一个浮点数,对应Python中的 float 实例

ImageField

(upload_to,  [height_field] ,[width_field])

像 FileField 一样,只不过要验证上传的对象是一个有效的图片。

IntegerField

 

一个整数。

IPAddressField

 

一个IP地址,以字符串格式表示(例如: "24.124.1.30" )。

NullBooleanField

 

就像一个  BooleanField ,但它支持 None /Null 。

PhoneNumberField 

 

它是一个  CharField ,并且会检查值是否是一个合法的美式电话格式

PositiveIntegerField 

 

和  IntegerField 类似,但必须是正值。

PositiveSma
4000
llIntegerField 


 

与  PositiveIntegerField 类似,但只允许小于一定值的值,最大值取决于数据库.

SlugField

 

 嵌条 就是一段内容的简短标签,这段内容只能包含字母、数字、下

划线或连字符。通常用于URL中

SmallIntegerField

 

和  IntegerField 类似,但是只允许在一个数据库相关的范围内的数值(通常是-32,768到

+32,767)

TextField

 

一个不限长度的文字字段

TimeField

 

时分秒的时间显示。它接受的可指定参数与 DateField 和 DateTimeField 相同。

URLField

 

用来存储URL的字段。

USStateField

 

美国州名称缩写,两个字母。

XMLField

(schema_path)

它就是一个  TextField ,只不过要检查值是匹配指定schema的合法XML。

 

 

通用字段参数列表(所有的字段类型都可以使用下面的参数,所有的都是可选的。)

 

参数名
意义
null


如果设置为 True
的话,Django将在数据库中存储空值为 NULL
。默认为 False 。

blank


如果是 True
,该字段允许留空,默认为 False 。

choices

一个包含双元素元组的可迭代的对象,用于给字段提供选项。

db_column

当前字段在数据库中对应的列的名字。

db_index

如果为 True
,Django会在创建表格(比如运行 manage.py syncdb
)时对这一列创建数据库索引。

default

字段的默认值

editable


如果为 False
,这个字段在管理界面或表单里将不能编辑。默认为 True


help_text


在管理界面表单对象里显示在字段下面的额外帮助文本。

primary_key

如果为 True
,这个字段就会成为模型的主键。

radio_admin


默认地,对于  ForeignKey
或者拥有 choices  设置的字段,Django管理界面会使用列表选择框(<select>)。如果 radio_admin
设置为 True 的话,Django就会使用单选按钮界面。

unique

如果是 True
,这个字段的值在整个表中必须是唯一的。

unique_for_date


把它的值设成一个  DataField
或者  DateTimeField 的字段的名称,可以确保字段在这个日期内不会出现重复值。

unique_for_month

和  unique_for_date
类似,只是要求字段在指定字段的月份内唯一。

unique_for_year

和  unique_for_date
及 unique_for_month 类似,只是时间范围变成了一年。

verbose_name

除 ForeignKey 
、  ManyToManyField 和 OneToOneField
之外的字段都接受一个详细名称作为第一个位置参数。

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  django Python