django中字段和约束

AutoField: 一个自动增加的整数类型字段。通常你不需要自己编写它,Django会自动帮你添加字段:id = models.AutoField(primary_key=True),这是一个自增字段,
       从1开始计数。如果你非要自己设置主键,那么请务必将字段设置为primary_key=True。Django在一个模型中只允许有一个自增字段,并且该字段必须为主键!
BigAutoField:(1.10新增)64位整数类型自增字段,数字范围更大,从1到9223372036854775807
BigIntegerField: 64位整数字段(看清楚,非自增),类似IntegerField ,-9223372036854775808 到9223372036854775807。在Django的模板表单里体现为一个textinput标签。
BinaryField: 二进制数据类型。使用受限,少用。
BooleanField:布尔值类型。默认值是None。在HTML表单中体现为CheckboxInput标签。如果要接收null值,请使用NullBooleanField。
CharField:字符串类型。必须接收一个max_length参数,表示字符串长度不能超过该值。默认的表单标签是input text。最常用的filed,没有之一!
CommaSeparatedIntegerField: 逗号分隔的整数类型。必须接收一个max_length参数。常用于表示较大的金额数目,例如1,000,000元。
DateField: class DateField(auto_now=False, auto_now_add=False, **options)日期类型。一个Python中的datetime.date的实例。在HTML中表现为TextInput标签。
在admin后台中,Django会帮你自动添加一个JS的日历表和一个“Today”快捷方式,以及附加的日期合法性验证。两个重要参数:(参数互斥,不能共存)
auto_now:每当对象被保存时将字段设为当前日期,常用于保存最后修改时间。auto_now_add:每当对象被创建时,设为当前日期,常用于保存创建日期(注意,
它是不可修改的)。设置上面两个参数就相当于给field添加了editable=False和blank=True属性。如果想具有修改属性,请用default参数。
例子:pub_time = models.DateField(auto_now_add=True),自动添加发布时间。
DateTimeField: 日期时间类型。Python的datetime.datetime的实例。与DateField相比就是多了小时、分和秒的显示,其它功能、参数、用法、默认值等等都一样。
DecimalField: 固定精度的十进制小数。相当于Python的Decimal实例,必须提供两个指定的参数!参数max_digits:最大的位数,必须大于或等于小数点位数 。
         decimal_places:小数点位数,精度。 当localize=False时,它在HTML表现为NumberInput标签,否则是text类型。
         例子:储存最大不超过999,带有2位小数位精度的数,定义如下:models.DecimalField(..., max_digits=5, decimal_places=2)。
DurationField: 持续时间类型。存储一定期间的时间长度。类似Python中的timedelta。在不同的数据库实现中有不同的表示方法。常用于进行时间之间的加减运算。
        但是小心了,这里有坑,PostgreSQL等数据库之间有兼容性问题!
EmailField: 邮箱类型,默认max_length最大长度254位。使用这个字段的好处是,可以使用DJango内置的EmailValidator进行邮箱地址合法性验证。
FileField: class FileField(upload_to=None, max_length=100, **options)上传文件类型,后面单独介绍。
FilePathField: 文件路径类型,后面单独介绍
FloatField: 浮点数类型,参考整数类型
ImageField: 图像类型,后面单独介绍。
IntegerField: 整数类型,最常用的字段之一。取值范围-2147483648到2147483647。在HTML中表现为NumberInput标签。
GenericIPAddressField:class GenericIPAddressField(protocol=‘both‘, u

null   可以为空

blank    表单中可以为空,一般配合null使用

default     默认值

primary_key     主键参数

unique    唯一约束

verbose_name    可读名称,一般定义为中文

在serializer中read_only  是只读  write_only  这是只写

max_length     字符串最大长度

原文地址:https://www.cnblogs.com/lishanglin/p/12459865.html

时间: 2024-08-30 17:58:12

django中字段和约束的相关文章

Django中 字段和参数

每个字段有一些特有的参数,例如,CharField需要max_length参数来指定VARCHAR数据库字段的大小.还有一些适用于所有字段的通用参数. 这些参数在文档中有详细定义,这里我们只简单介绍一些最常用的: AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True 注:当model中如果没有自增列,则自动会创建一个列名为id的列

Django中ORM介绍和字段及其参数

ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. ORM的由来 字母‘O’起源于“对象”(Object),'R'代表“关系”(Relational). 几乎所有的软件开发过程中都会涉及到对象和关系数据库.在用户层面和业务逻辑层

Django中ORM字段以及字段参数介绍

一:Django中ORM的介绍 1.ORM的概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. 2.ORM的来源 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系"(Relational)

Django中常用字段

一.Djiango框架的常用字段 Django ORM 常用字段和参数 常用字段 常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型,范围在 -2147483648 to 2147483647.(一般不用它来存手机号(位数也不够),直接用字符串存,) CharField 字符类型,必须提供max_length参数, max_length表示字符长度. 这

django中的字段、字段参数、orm操作、QuerySet相关方法:

常用字段  AutoField 自增的整形字段,必填参数primary_key=True,则成为数据库的主键.无该字段时,django自动创建. 一个model不能有两个AutoField字段. IntegerField 一个整数类型.数值的范围是 -2147483648 ~ 2147483647. CharField 字符类型,必须提供max_length参数.max_length表示字符的长度. DateField 日期类型,日期格式为YYYY-MM-DD,相当于Python中的dateti

Django中ORM介绍和字段及字段参数

https://www.cnblogs.com/liwenzhou/p/8688919.html Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库

Django数据库设计中字段为空的方式

null=True 数据库中字段可以为空 blank=True django的 Admin 中添加数据时可允许空值 原文: 今天在做数据库设计的时候,设计了如下User表,其中我把email和phone字段设置为允许为空: 1 class User(models.Model): 2 username = models.CharField('用户名',max_length=50) 3 password = models.CharField('密码',max_length=255) 4 email

Django中Form表单之字段详解

Django中的Form表单 1.背景 平时我们在书写form表单时,经常都是手动的去写一些input标签,让用户输入一些功能,进行一些校验的判断,等等.Django中的form表单就能够帮我们去实现这些功能,比较便捷. 2.Django form表单的功能 1.生成页面可执行的HTML标签 2.对应户的数据进行校验 3.保留上次输入的内容 3.先用普通方式手写一个注册功能 1.views.py文件中 # 注册 def register(request): error_msg = ""

Django中模型(二)

Django中模型(二) 三.定义模型 1.模型.属性.表.字段间的关系: 一个模型类在数据库中对应一张表:在模型类中定义的属性,对应该模型对照表中的字段. 2.定义属性 A.概述 ·django根据属性的类型确定以下信息 ·当前选择的数据库支持字段的类型 ·渲染管理表单时使用的默认html控件 ·在管理站点最低限度的验证 B. ·django会为表增加自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后,则django不会再生成默认的主键列 C.属性命名限制 ·遵循标识