Django 数据模型的字段列表整理

一个模型最重要也是唯一必需的部分,是它定义的数据库字段。

字段名称限制:

1.一个字段名不能是一个Python保留字,因为那样会导致一个Python语法错误。

2.一个字段名不能包含连续的一个以上的下划线,因为那是Django查询语句的语法。

字段列表纵览表


字段名


参数


意义


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 类似,但必须是正值。


PositiveSmallIntegerField


与 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 之外的字段都接受一个详细名称作为第一个位置参数。

时间: 2024-10-09 10:51:58

Django 数据模型的字段列表整理的相关文章

Django数据模型——数据库字段类型

字段 一个模型最重要也是唯一必需的部分,是它定义的数据库字段 字段名称限制 1.字段名不能是pythohn保留字,这样会导致python语法错误 2.字段不能包含连续一个以上的下划线,这样会和Django查询语句语法冲突 数据库列的类型 AutoField 指一个能够根据可用ID自增的 IntegerField .通常你不用直接使用它,如果你没有指定主键的话,系统会自动在你的模型中加入这样的主键. BooleanField 一个真/假(true/false)字段. CharField 一个字符串

Django,数据模型创建之数据库API参考(转载)

一旦 数据模型 创建完毕, 自然会有存取数据的需要.本文档介绍了由 models 衍生而来的数据库抽象API,及如何创建,得到及更新对象. 贯穿本参考, 我们都会引用下面的民意测验(Poll)应用程序: class Poll(models.Model): slug = models.SlugField(unique_for_month='pub_date') question = models.CharField(maxlength=255) pub_date = models.DateTime

django 后台显示字段修改

1.app名称 本来估计能找到类似Mete中verbose_name_plural属性去更改app显示名称的,可以只找到一个app_label.但是由于django源码中是这样写的:     app_dict[app_label] = {            'name': app_label.title(),            'app_url': app_label,            'has_module_perms': has_module_perms,           

【Python】Django数据模型、级联删除、级联更新、ER图导出等

在本文中,我们将向读者详细介绍如何在更新和删除父表数据的同时,触发有关子表数据的级联更新和删除操作.您将看到当使用InnoDB表的时候,借助于外键约束就可以轻松搞定这一过程. 一.利用外键约束更新并删除MySQL中的数据 我们知道,开发能够维护多个表的完整性的数据库驱动的应用程序是一件非常复杂的事情--即使应用程序所面对的是当前最流行的开源关系型数据库管理系统MySQL服务器时也不例外.如果一个应用程序必须处理多个数据库表,而这些表之间有存在着某些预定义的关系,这时一旦父表中的数据被更新或者删除

django关系类型字段

一.多对一(ForeignKey) 多对一的关系,通常被称为外键.外键字段类的定义如下: class ForeignKey(to, on_delete, **options)[source] 外键需要两个位置参数,一个是关联的模型,另一个是on_delete选项.实际上,在目前版本中,on_delete选项也可以不设置,但Django极力反对如此,因此在Django2.0版本后,该选项会设置为必填. 外键要定义在‘多’的一方! from django.db import models class

django数据模型中关于on_delete, db_constraint的参数说明

django数据模型中关于on_delete, db_constraint的参数说明 # 半夜撸代码 正在一顿操作猛如虎的时候,发现删了其中一张表的某条记录,结果发现其他表跟这个字段的关联的也都被删除,我已经写了db_constraint=False 难道我用错了,最后只能查资料,原来想断关联还想连表查询做这个是不够的,还需要null=True, blank=True,on_delete=models.SET_NUL这里我之前写的是on_delete=models.CASCADE 默认级联删除,

django model常用字段类型

摘自 http://www.cnblogs.com/wt869054461/p/4014271.html V=models.AutoField(**options) #int:在Django代码内是自增 V=models.DecimalField(max_digits=None, decimal_places=None<, **options>) #decimal V=models.FloatField(<**options>) #real V=models.BooleanFiel

Django ORM常用字段及参数

目录 Django ORM常用字段及参数 models中的常用字段 字段内的关键字参数 数据库查询优化(面试问题) Django ORM如何开启事务操作 MTV与MVC模型(了解) Django ORM常用字段及参数 models中的常用字段 models中常用字段与数据库中的对应关系 models中常用字段 数据库对应字段 AutoField(primary_key=True) 主键字段 CharField(max_length=32) varchar(32) IntegerField() i

[Oracle] SQL*Loader 详细使用教程(4)- 字段列表

在上一篇中我们介绍了SQL*Loader中最重要的文件——控制文件,而本篇要介绍控制文件中最重要的部分——字段列表,字段列表的作用是把数据文件中的记录和数据库中表的列对应起来,下面是字段列表的一个例子,本篇我们将一一讲解它们的意思. . . . 1 (hiredate SYSDATE, 2 deptno POSITION(1:2) INTEGER EXTERNAL(2) NULLIF deptno=BLANKS, 3 job POSITION(7:14) CHAR TERMINATED BY W