django的models字段介绍
#增加数据库数据方法
#方法1
CalcData.objects.create(var1 ='21',var2='22')
#方法2
obj =CalcData(var1 ='21',var2='22')
job.save()
#更新数据库数据方法
#只能更新一条数据
obj=CalcData.objects.get(id='3')
obj.var1 = '2222'
obj.save()
#更新多条数据
CalcData.objects.filter(id__gt='2').update(var1 = '33')
#models.py Demo
from django.db import models
import datetime
class CalcData(models.Model):
var1 = models.IntegerField()
var2 = models.IntegerField()
createTime = models.DateTimeField(default=datetime.datetime.now())
updateTime =models.DateTimeField(default=datetime.datetime.now())
1
、models.AutoField 自增列
=
int
(
11
)
如果没有的话,默认会生成一个名称为
id
的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key
=
True
。
2
、models.CharField 字符串字段
必须 max_length 参数
3
、models.BooleanField 布尔类型
=
tinyint(
1
)
不能为空,Blank
=
True
4
、models.ComaSeparatedIntegerField 用逗号分割的数字
=
varchar
继承CharField,所以必须 max_lenght 参数
5
、models.DateField 日期类型 date
对于参数,auto_now
=
True
则每次更新都会更新这个时间;auto_now_add 则只是第一次创建添加,之后的更新不再改变。
6
、models.DateTimeField 日期类型 datetime
同DateField的参数
7
、models.Decimal 十进制小数类型
=
decimal
必须指定整数位max_digits和小数位decimal_places
8
、models.EmailField 字符串类型(正则表达式邮箱)
=
varchar
对字符串进行正则表达式
9
、models.FloatField 浮点类型
=
double
10
、models.IntegerField 整形
11
、models.BigIntegerField 长整形
integer_field_ranges
=
{
'SmallIntegerField'
: (
-
32768
,
32767
),
'IntegerField'
: (
-
2147483648
,
2147483647
),
'BigIntegerField'
: (
-
9223372036854775808
,
9223372036854775807
),
'PositiveSmallIntegerField'
: (
0
,
32767
),
'PositiveIntegerField'
: (
0
,
2147483647
),
}
12
、models.IPAddressField 字符串类型(ip4正则表达式)
13
、models.GenericIPAddressField 字符串类型(ip4和ip6是可选的)
参数protocol可以是:both、ipv4、ipv6
验证时,会根据设置报错
14
、models.NullBooleanField 允许为空的布尔类型
15
、models.PositiveIntegerFiel 正Integer
16
、models.PositiveSmallIntegerField 正smallInteger
17
、models.SlugField 减号、下划线、字母、数字
18
、models.SmallIntegerField 数字
数据库中的字段有:tinyint、smallint、
int
、bigint
19
、models.TextField 字符串
=
longtext
20
、models.TimeField 时间 HH:MM[:ss[.uuuuuu]]
21
、models.URLField 字符串,地址正则表达式
22
、models.BinaryField 二进制<br>
23
、models.ImageField 图片<br>
24
、models.FilePathField 文件
django的models字段介绍的更多相关文章
- Django的Models字段含义
在model中添加字段的格式一般为: field_name = field_type(**field_options) 一 field options(所有字段共用) 1 null 默认为F ...
- django之models字段参数
字段内部参数: null 数据库中字段是否可以为空 db_column 数据库中字段的列名 db_tablespace default 数据库中字段的默认值 primary_key 数据库中字段是否为 ...
- Django之models字段属性
目录 常用字段 AutoField IntegerField CharField 自定义及使用char DateField DateTimeField 字段合集 字段参数 null unique db ...
- django中models字段的联合限制
一.字段联合使用的限制设置: 有这么个需求,现有两个字段,A字段是选择用户是不是vip, B字段是统计用户的vip等级; 要求: 用户不是vip时,A选择false,B字段为空; 是vip时,A字段选 ...
- django 模型models
1. django 模型models 常用字段 1.models.AutoField 自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列 如果要显式的自定义一 ...
- django中的ORM介绍和字段及字段参数
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
- Django中的ORM介绍,字段以及字段的参数。
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
- Django之Models进阶操作(字段属性)
字段属性详细介绍 一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列, ...
- Django 中得ORM介绍和字段及字段参数
ORM 介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说 ORM 是通过使用 ...
随机推荐
- 原生JS实现淡入淡出效果(fadeIn/fadeOut/fadeTo)
淡入淡出效果,在日常项目中经常用到,可惜原生JS没有类似的方法,而有时小的页面并不值得引入一个jQuery库,所以就自己写了一个,已封装, 有用得着的朋友, 可以直接使用. 代码中另附有一个设置元素透 ...
- codeforces 707A A. Brain's Photos(水题)
题目链接: A. Brain's Photos 题意: 问是黑白还是彩色; 思路: 没有思路: AC代码: #include <iostream> #include <cstdio& ...
- codeforces 655C C. Enduring Exodus(二分)
题目链接: C. Enduring Exodus time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- ROS 负载均衡
[xuan89@MikroTik] > :for i from=1 to=$z do= {/ip firewall mangle add action=mark-connection chain ...
- Android的五大基本组件
Android的基本组件 1.Activity Activity 是最基本的模块,一般称之为“活动”,在应用程序中一般一个Activity就是一个单独的屏幕.每一个活动都被实现为一个独立的类,并且从活 ...
- noip2017列队(线段树)
维护一个方阵,支持 1.删掉一个点,剩下的点先向左看齐再向前看齐 2.询问一个位置上是哪个点 $n,m,q \leq 3 \times 10^5$ sol: 我们每行前$m-1$列维护一个线段树,最后 ...
- #define与typedef区别
1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错.例如: #define PI 3.141 ...
- JAVA中重写equals()方法为什么要重写hashcode()方法说明
重写hashCode()时最重要的原因就是:无论何时,对同一个对象调用hashCode()都应该生成同样的值.如果在将一个对象用put()方法添加进HashMap时产生一个hashCode()值,而用 ...
- 【转】 Pro Android学习笔记(六四):安全和权限(1):签发apk
目录(?)[-] Android安全模型 数字证书签发 Debug的keystore 生产unsigned的apk 为apk进行证书签发 align安装包 使用Export Wizard生成签发的ap ...
- python unittest之断言及示例
python unintest单元测试框架提供了一整套内置的断言方法. 如果断言失败,则抛出一个AssertionError,并标识该测试为失败状态 如果异常,则当做错误来处理 注意:以上两种方式的区 ...