Django学习手册 - ORM数据类型
Posted anec
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django学习手册 - ORM数据类型相关的知识,希望对你有一定的参考价值。
DOM 字段/参数
配置格式:
Module.字段(参数)
常用的字段归纳:
数字
models.AutoField() 自增列(int),必须设置为主键
models.IntegerField() 整型
models.FloatField() 浮点
models.DecimalField(max_digits=8,decimal_places=3) 精确浮点
字符串
models.CharField() 字符串,必须设置max_length 参数
models.TextField(Field) 文本类型
时间
models.DateField() models.DateTimeField() 参数: Auto_now #现在时间(更新时间) Auto_now_add #创建时间 注:(更新时间使用) 更新方式一: Obj = userinfo.objects.filter(id=1).update(name=”root”) 不生效 更新方式二: Obj = userinfo.objects.filter(id=1).first() Obj.save() 生效
其他
Models.BinaryField() 二进制
Models.ImageField() 图片
Models.FilePathField() 文件
常用参数:
Null 是否为空(T,F)
Default 默认参数
Primary_key 主键
Db_index 索引
Unique 唯一索引
Verbose_name 显示字段中文
在Django admin中生效的字段:
Emailfield () GenericIPAddressField() URLField() EmailField(CharField) IPAddressField(Field) URLField(CharField) SlugField(CharField) UUIDField(Field)
FilePathField(Field) 参数: path, 文件夹路径 match=None, 正则匹配 recursive=False, 递归下面的文件夹 allow_files=True, 允许文件 allow_folders=False, 允许文件夹 FileField(Field) 参数: upload_to = "" 上传文件的保存路径 storage = None 存储组件,默认django.core.files.storage.FileSystemStorage
ImageField(FileField) CommaSeparatedIntegerField(CharField)格式必须为逗号分割的数字 拓展: models.CharField 对应的是mysql的varchar数据类型
char 和 varchar的区别 : char和varchar的共同点是存储数据的长度,不能 超过max_length限制, 不同点是varchar根据数据实际长度存储,char按指定max_length()存储数据;所有前者更节省硬盘空间;
返回值为字段在数据库中的属性,Django字段默认的值为:
‘AutoField‘: ‘integer AUTO_INCREMENT‘, ‘BigAutoField‘: ‘bigint AUTO_INCREMENT‘, ‘BinaryField‘: ‘longblob‘, ‘BooleanField‘: ‘bool‘, ‘CharField‘: ‘varchar(%(max_length)s)‘, ‘CommaSeparatedIntegerField‘: ‘varchar(%(max_length)s)‘, ‘DateField‘: ‘date‘, ‘DateTimeField‘: ‘datetime‘, ‘DecimalField‘: ‘numeric(%(max_digits)s, %(decimal_places)s)‘, ‘DurationField‘: ‘bigint‘, ‘FileField‘: ‘varchar(%(max_length)s)‘, ‘FilePathField‘: ‘varchar(%(max_length)s)‘, ‘FloatField‘: ‘double precision‘, ‘IntegerField‘: ‘integer‘, ‘BigIntegerField‘: ‘bigint‘, ‘IPAddressField‘: ‘char(15)‘, ‘GenericIPAddressField‘: ‘char(39)‘, ‘NullBooleanField‘: ‘bool‘, ‘OneToOneField‘: ‘integer‘, ‘PositiveIntegerField‘: ‘integer UNSIGNED‘, ‘PositiveSmallIntegerField‘: ‘smallint UNSIGNED‘, ‘SlugField‘: ‘varchar(%(max_length)s)‘, ‘SmallIntegerField‘: ‘smallint‘, ‘TextField‘: ‘longtext‘, ‘TimeField‘: ‘time‘, ‘UUIDField‘: ‘char(32)‘,
以上是关于Django学习手册 - ORM数据类型的主要内容,如果未能解决你的问题,请参考以下文章