数据库模型字段引用¶ here
参见
如果内置字段不起作用,您可以尝试使用django-localflavor(文档),其中包含对特定国家和文化有用的各种代码片段。
此外,您可以轻松编写自己的自定义模型字段。
注解
从技术上讲,这些模型是定义的django.db.models.fields
,但为方便起见,它们被导入django.db.models
; 标准惯例是使用和引用字段 。from django.db import models
models.<Foo>Field
字段选项¶
以下参数可用于所有字段类型。所有都是可选的。
null
¶
Field.
null
¶
如果True
,Django将NULL
在数据库中存储空值。默认是False
。
blank
¶
Field.
blank
¶
如果True
,该字段允许为空。默认是False
。
choices
¶
Field.
choices
db_column
¶
Field.
db_column
¶
用于此字段的数据库列的名称。如果没有给出,Django将使用该字段的名称。
db_index
¶
Field.
db_index
¶
如果True
,将为此字段创建数据库索引。
default
¶
Field.
default
¶
字段的默认值。这可以是值或可调用对象。如果可调用,则每次创建新对象时都会调用它。
primary_key
¶
Field.
primary_key
¶
如果True
,此字段是模型的主键。
unique
¶
Field.
unique
¶
如果True
,该字段在整个表格中必须是唯一的。
字段类型¶
AutoField
¶
根据可用ID自动递增。
CharField
¶
字符串字段,用于小到大的字符串。
对于大量文本,请使用TextField
。
DateField
¶
classDateField
(auto_now = False,auto_now_add = False,** options)[源代码] ¶
日期,由Python datetime.date
实例表示。
EmailField
¶
classEmailField
(max_length = 254,** options)[源代码] ¶
一CharField
,检查该值是使用一个有效的电子邮件地址 EmailValidator
。
FileField
¶
classFileField
(upload_to = None,max_length = 100,** options)[源代码] ¶
文件上传字段。
FloatField
¶
classFloatField
(** options)[源代码] ¶
由float
实例在Python中表示的浮点数。
ImageField
¶
classImageField
(upload_to = None,height_field = None,width_field = None,max_length = 100,** options)[源代码] ¶
IntegerField
¶
classIntegerField
(** options)[源代码] ¶
一个整数。
SlugField
¶
classSlugField
(max_length = 50,** options)[源代码] ¶
Slug是一个报纸术语。slu is是一种短标签,只包含字母,数字,下划线或连字符。它们通常用于URL。
与CharField类似,您可以指定max_length
TextField
¶
classTextField
(** options)[源代码] ¶
一个大的文本字段。此字段的默认表单窗口小部件是a Textarea
。
TimeField
¶
classTimeField
(auto_now = False,auto_now_add = False,** options)[源代码] ¶
一个时间,由Python datetime.time
实例表示。接受相同的自动填充选项DateField
。
URLField
¶
classURLField
(max_length = 200,** options)[源代码] ¶
A CharField
的URL,经过验证 URLValidator
。
UUIDField
¶
classUUIDField
(** options)[源代码] ¶
用于存储通用唯一标识符的字段。使用Python的 UUID
类。
关系字段¶
Django还定义了一组表示关系的字段。
ForeignKey
¶
classForeignKey
(to,on_delete,** options)[源代码] ¶
ManyToManyField
¶
classManyToManyField
(to,** options)[源代码] ¶
多对多的关系
OneToOneField
¶
classOneToOneField
(to,on_delete,parent_link = False,** options)[源代码] ¶
一对一的关系。