Django(ORM常用字段)
day68
参考:http://www.cnblogs.com/liwenzhou/p/8688919.html
1. Django ORM常用字段:
1. AutoField --> 自增
2. CharField --> varchar(xx)
3. ForeignKey --> 外键
4. ManyToManyField --> 多对多关联
5. DateField
6. DateTimeField
7. IntegerField
2. 自定义char字段
class FixedCharField(models.Field):
"""
自定义的char类型的字段类
"""
def __init__(self, max_length, *args, **kwargs):
self.max_length = max_length
super(FixedCharField, self).__init__(max_length=max_length, *args, **kwargs)
def db_type(self, connection):
"""
限定生成数据库表的字段类型为char,长度为max_length指定的值
"""
return 'char(%s)' % self.max_length
3. 常用的字段参数
1. null
2. default
3. unique
4. db_index
5. DateField和DateTimeField才有的参数:
auto_now_add=True --> 创建数据的时候自动把当前时间赋值
auto_add=True --> 每次更新数据的时候更新当前时间
上述两个不能同时设置!!!
5. class Meta:
db_table = "表名"
Django ORM 常用字段和参数
常用字段
AutoField
int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。
IntegerField
一个整数类型,范围在 -2147483648 to 2147483647。
CharField
字符类型,必须提供max_length参数, max_length表示字符长度。
DateField
日期字段,日期格式 YYYY-MM-DD,相当于Python中的datetime.date()实例。
DateTimeField
日期时间字段,格式 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ],相当于Python中的datetime.datetime()实例。
时间字段独有
DatetimeField、DateField、TimeField这个三个时间字段,都可以设置如下属性。
auto_now_add
配置auto_now_add=True,创建数据记录的时候会把当前时间添加到数据库。
auto_now
配置上auto_now=True,每次更新数据记录的时候会更新该字段
实践
字段参数
null
用于表示某个字段可以为空。
unique
如果设置为unique=True 则该字段在此表中必须是唯一的 。
db_index
如果db_index=True 则代表着为此字段设置数据库索引。
default
为该字段设置默认值。
元信息
ORM对应的类里面包含另一个Meta类,而Meta类封装了一些数据库的信息。主要字段如下:
db_table
ORM在数据库中的表名默认是 app_类名,可以通过db_table可以重写表名。
index_together
联合索引。
unique_together
联合唯一索引。
ordering
指定默认按什么字段排序。
只有设置了该属性,我们查询到的结果才可以被reverse()。
转载于:https://www.cnblogs.com/112358nizhipeng/p/10443220.html
Django(ORM常用字段)相关推荐
- Django中ORM常用字段类型及参数
常用字段: <1> CharField 字符串字段, 用于较短的字符串. CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该字段所允许的 ...
- Django --ORM常用的字段和参数 多对多创建形式
1 ORM字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型 ...
- django orm 常用查询筛选
大于.大于等于 __gt 大于 __gte 大于等于User.objects.filter(age__gt=10) // 查询年龄大于10岁的用户 User.objects.filter(age__g ...
- Django ORM 常用的查询方法
1.exact(SQl精确查找 =/is) class Article(models.Model):title = models.CharField(max_length=200)content = ...
- Django 数据库常用字段类型
数值型 类型 用法 作用 参数 AutoField 自增字段 若不显示指定主键,django每次会新建一个自增字段并设置为主键 BigAutoField 类似AutoField 存储数字为只能为 1到 ...
- Django ORM获取字段的verbose_name
假设存在如下模块: class Article(models.Model):title = models.CharFiled("文章标题", max_length = 50)... ...
- Django数据库常用字段及参数
一.常见字段(经常使用到字段) 1.CharField 字符串字段(必须max_length 参数) 2.DateField 日期类型 date(auto_now =True自动更新时间\auto_n ...
- Django(五)模型(model)系统 -- 常用字段和字段参数
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
- Django - ORM字段和字段参数
目录 Django - ORM字段和字段参数 一. Django中的ORM 1. Django项目使用MySQL数据库 2.Model 3.基本用法 Django ORM 常用字段和参数 常用字段 其 ...
最新文章
- mysql数据库常用命令
- 关于ORA-01950: no privileges on tablespace 的解决
- Xamarin iOS教程之键盘的使用和设置
- Markdown语法记录
- 《HTML5 canvas开发详解(第2版)》——1.3 本书使用的基础HTML页面
- JVM运行参数_JVM内存模型_常用内存分析工具
- GTK 4.0 图形工具包正式发布
- java当月日历_java程序——输出当月日历表
- 本科论文房地产公司财务风险评价与控制研究
- 软件接口与性能测试,接口测试与性能测试有什么区别?
- boss网人脸识别认证_在手机上怎样进行社保人脸识别认证
- uni-app微信小程序配置(三)
- win10配置docker环境
- 数字化转型常见的5种问题:除了意识和能力问题,还有什么?
- oracle中distinct和count函数组合使用
- angular报错信息之 'zmz-select' is not a known element
- 我的世界java版怎么用指令召唤幻术师_我的世界召唤指令大全 怎么用指令召唤生物...
- C语言编写代码绘制圆
- 小程序上传音频失败_微信小程序实现录音后上传文件方法详细
- 天籁obd接口针脚定义_汽车16针obd接口针脚定义
热门文章
- php开发v2ex,继续求 PHP 开发工作
- php urldecode 加号不显示_php|urldecode urlencode 的加号问题
- elementui中给input框赋值成功后input框不能进行编辑问题
- java 管理系统 注释_员工管理系统--带注释--oracle系统--java项目
- vue和aspx判断加页面传值.txt
- Powerdesigner设置表字段注释与name相同
- idea新建module路径问题
- java上拉变量_「小程序JAVA实战」小程序页面的上拉下拉刷新(50)
- mysql空间数据类型解释_MySQL空间数据类型
- git配置取消代理_「高手」如何优雅的解决 git 超时