Django所包含属性
Django包含的属性
定义属性
概述:
1、django根据属性的类型确定以下信息
2、当前选择的数据库支持字段的类型
3、渲染管理表单时使用的默认html空间
4、在管理站点最低限度的验证
注意:
属性命名限制
遵循标识符规则
由于django的查询方式,不允许使用连续的下划线
Django会为表增加的主键列,每个模型只能有一个主键列,如果选项设置莫属性为主键列后,则django不会再生成默认的主键列
库:
定义属性时,需要字段类型,字段类型被定义到django.db.models.fields目录下,为了方便使用,被导入到django.db.models中
使用方式:
导入from django.db import models
通过models.Field创建字段类型的对象,赋值给属性
逻辑删除:
对于重要的数据都叫逻辑删除,不做物理删除,实现方法是定义isDelete属性,类型为BooleanField.默认值为false
字段类型:
AutoField:
一个根据实际ID自动增长的IntegerField.通常不指定,如果不指定:一个主键字段将自动添加到模型中
CharField(max_length=字符长度),字符串,默认的表单样式是TextInput
TextField:
大文本字段,一般超过4000使用,默认的表单控件是Texttarea
IntegerField:
整数
DecimalField(max_digits=None,decimal_placces=None):
使用python的Decimal实例表示的十进制浮点数
参数说明:
DecimalField.max_digits
位数总数
DecimalField.decimal_places
小数后的数字位数
FloatField:
用python的float实例来表示的浮点数
BooleanField:
true/false字段,此字段默认表单控制的是CheckboxInput
NullBooleanField:
支持null,true,false三种值
DateField([auto_now=false,auto_now_add=False]):
使用python的datetime.date实例表示的日期
参数说明:
DateField.auto_now
每次保存对象时,自动设置该字段为当前时间,用于“最后一次修改”的时间戳,它总是使用当前日期,默认为false
DateField.auto_now_add
当对象第一次被创建时自动设置当前时间,用于创建的时间戳,它总是使用当前日期,默认值为false
注意:
该字段默认对应的表单控件是一个Textinput,在管理员站点添加了一个javaScript写的日历控件,和一个“Today”的快捷按钮,包含了一个额外的invalid_date错误消息键
aut_now_add,auto_now,and default这些设置是相互排斥的,他们之间的任何组合将会发生错误的结果
TimeField:
datetime实例表示的日期和时间,参数同DateField
DateTimeField:
使用Python的datetime.
datetime实例表示的日期和时间,参数同DateField
FieldField:
一个上传文件的字段
ImageField:
继承了FieldField的所有属性和方法,单对上传的对象进行校验,
确保他是一个有效的image
字段选项:
概述:
1、通过字段选项,可以实现对字段的约束
2、在字段对象时通过关键字参数指定
null值:如果为True,Django将控制以NULL存储到数据库中,默认值是false
blanke 值:如果为true,则该字段允许为空白,默认值是false
注意:null是数据库范畴的概念,blank是表单验证范畴的
db_column:字段的名称,如果没有指定,则使用属性的名称
db_index:若值为True,则在表中会为此字段创建索引
default:默认值
unique:唯一约束值
Django所包含属性的更多相关文章
- django 动态更新属性值
django 动态更新属性值 class TestTime(models.Model): """ 功能说明:指定测试的每一关总用时 """ ...
- System.out.println 报错: 只能运行在方法体内哦, 类里面只包含属性和方法哦,注意!
类里面包含属性和方法 所以, System.out.println,只能放在方法体内运行,不能放在类里.方法外哦
- (19)ASP.NET Core EF创建模型(包含属性和排除属性、主键、生成的值)
1.什么是Fluent API? EF中内嵌的约定将POCO类映射到表.但是,有时您无法或不想遵守这些约定,需要将实体映射到约定指示外的其他对象,所以Fluent API和注解都是一种方法,这两种方法 ...
- Django之ORM属性类型和约束条件
ORM属性类型: 1. CharField 字符串字段, 用于较短的字符串. CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该 ...
- Django request 常用属性
一.request属性 path 获取url全路径(出去域名外) 用法: request.path GET 用户所有的get内容以字典的形式存储 例:{'name':'alan'} 用法: data ...
- .NET MVC强类型参数排除和包含属性
MVC接收强类型对象时排除或只接收某几个属性时可使用Bind特性: Bind(Include="属性");如果相包含多个属性可以用逗号分割符分开:Bind(Include=&quo ...
- 【Js】创建对象的6种方式总结、(底部包含属性名为动态的形式)
一.new 操作符 + Object 创建对象 1 var person = new Object(); 2 person.name = "lisi"; 3 person.age ...
- java中dao层的通用层,通过反射机制,操作数据库的增删改,适用的范围是不包含属性类
这里首先必须注意的是:类的类名.字段必须与数据库中的表名和字段名保持一致,否则无法通过反射机制作出通用层 /** * 学生信息类,数据库中的StuInfo表 * */public class StuI ...
- Python3 多元回归(包含属性的向量化)
# -*- coding: utf-8 -*- """ Created on Thu Jan 4 19:52:03 2018 @author: markli " ...
随机推荐
- VS 2017 产品密钥
Visual Studio 2017(VS2017) 企业版 Enterprise 注册码:NJVYC-BMHX2-G77MM-4XJMR-6Q8QFVisual Studio 2017(VS2017 ...
- 使用python计算softmax函数
softmax计算公式: Softmax是机器学习中一个非常重要的工具,他可以兼容 logistics 算法.可以独立作为机器学习的模型进行建模训练.还可 ...
- 记一次线上环境的内存溢出(java.lang.OutOfMemoryError)
事故背景 今天客户说风控项目有个别用户查询不到数据不是报错就是一直卡在那里,我就去那个接口看了下. 一看项目日志今天的都几个g了,平常也就几百兆吧,很明显出了问题. 请求接口后使用命令tail -f ...
- python包管理工具他们之间的关系
python包管理工具之间的关系 现在的python包管理工具有很多,非常混乱,必须理清他们之间的关系才能更好的使用python构建强大的包关系系统工具. 首先:python官方推荐的第三方库是PyP ...
- 51nod1127 最短的包含字符串 尺取法
Bryce1010模板 #include <bits/stdc++.h> using namespace std; typedef long long LL; map<char,LL ...
- 动态规划:最大连续子序列乘积 分类: c/c++ 算法 2014-09-30 17:03 656人阅读 评论(0) 收藏
题目描述: 给定一个浮点数序列(可能有正数.0和负数),求出一个最大的连续子序列乘积. 分析:若暴力求解,需要O(n^3)时间,太低效,故使用动态规划. 设data[i]:第i个数据,dp[i]:以第 ...
- Android Dialogs(4)Dialog事件处理
Passing Events Back to the Dialog's Host When the user touches one of the dialog's action buttons or ...
- PHP + ORACLE 远程连接数据库环境配置
在ORACLE官网下载instantclient_11_2,放在D盘 把instantclient_11_2目录下的所有dll文件复制到C:\Windows\SysWOW64 和 D:\phpS ...
- swiper4实现的拥有header和footer的全屏滚动demo/swiper fullpage footer
用swiper4实现的拥有header和footer的全屏滚动demo, <!DOCTYPE html> <html lang="en"> <head ...
- git --删除文件、重命名
修改最后一次提交 git commit --amend -m “” 删除文件:. git rm <需要删除的文件> 只是删除当前工作目录和暂存区的文件,也就是取消跟踪.在下次提交时不纳入版 ...