Django_模型字段属性
"""
定义属性 概述
·django根据属性的类型确定以下信息
·当前选择的数据库支持字段的类型
·渲染管理表单时使用的默认html控件
·在管理站点最低限度的验证 ·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使用,默认的表单控件是Textarea ·IntegerField
·整数 ·DecimalField(max_digits=None, decimal_places=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错误消息键
·注意
·auto_now_add, auto_now, and default 这些设置是相互排斥的,他们之间的任何组合将会发生错误的结果 ·TimeField
·使用Python的datetime.time实例表示的时间,参数同DateField ·DateTimeField
·使用Python的datetime.datetime实例表示的日期和时间,参数同DateField ·FileField
·一个上传文件的字段,一般用于存文件路径 ·ImageField
·继承了FileField的所有属性和方法,但对上传的对象进行校验,确保它是个有效的image 字段选项
·概述
·通过字段选项,可以实现对字段的约束
·在字段对象时通过关键字参数指定 ·null
·如果为True,Django 将空值以NULL 存储到数据库中,默认值是 False ·blank
·如果为True,则该字段允许为空白,默认值是 False,和NULL不一样 ·注意
·null是数据库范畴的概念,blank是表单验证证范畴的 ·db_column
·字段的名称,如果未指定,则使用属性的名称 ·db_index
·若值为 True, 则在表中会为此字段创建索引,查询会变快,其他操作(增加删除修改)会变慢,用于经常查询的 ·default
·默认值 ·primary_key
·若为 True, 则该字段会成为模型的主键字段 ·unique
·如果为 True, 这个字段在表中必须有唯一值 关系
·分类
·ForeignKey:一对多,将字段定义在多的端中
·ManyToManyField:多对多,将字段定义在两端中
·OneToOneField:一对一,将字段定义在任意一端中 ·用一访问多
·格式
·对象.模型类小写_set
·示例
grade.students_set ·用一访问一
·格式
·对象.模型类小写
·示例
·grade.students ·访问id
·格式
·对象.属性_id
·示例
·student.sgrade_id
"""

Django_模型字段属性的更多相关文章
- Django(七)模型:字段属性、字段选项(参数)
一.模型类属性命名限制 参考:https://docs.djangoproject.com/zh-hans/3.0/topics/db/models/ 1)不能是python的保留关键字. 2)不允许 ...
- 二 Djano模型层之模型字段选项
字段选项 以下参数是全部字段类型都可用的,而且是可选的 null 如果为True,Django将在数据库中将空值存储为NULL.默认值为False 对于字符串字段,如果设置了null=True意味着& ...
- Django_ORM_字段属性
Django_ORM_字段属性 常用字段 AutoField int自增列,必填参 primary_key=True 默认会自动创建一个列名为id的列 IntegerField 一个整数类型,范围在 ...
- django项目模型字段
一个模型(model)就是一个单独的.确定的数据的信息源,包含了数据的字段和操作方法.通常,每个模型映射为一张数据库中的表. 基本的原则如下: 每个模型在Django中的存在形式为一个Python类 ...
- odoo字段属性
以下为可用的非关联字段类型以及其对应的位置参数: Char(string)是一个单行文本,唯一位置参数是string字段标签. Text(string)是一个多行文本,唯一位置参数是string字段标 ...
- orm查询优化 MTV和MVC模型 字段的chioces参数 Ajax
目录 一.ORM查询优化 1. all()查询 2. only()/defer()方法 (1)only()方法 (2)defer()方法 3. select_related()/prefetch_re ...
- odoo字段属性列举
罗列一些Odoo中的字段属性,基本包含大部分的属性. 常用字段属性 平平无奇常用字段属性 string:字段的标题,在UI视图标签中使用.它是可选项,如未设置,会通过首字母大写及将空格替换成为下划线来 ...
- ORM研究3 - odoo fields常用的字段属性
之前我们已经讲解了odoo ORM中的一些对字段常用的API操作方法,今天我们继续研究一下Odoo orm中字段的一些通用属性字段的使用,学会它们可以为自己创建数据映射并使用有更好的帮助. 通用字段属 ...
- Django_模型类详解(七)
# 定义书籍模型类 class BookInfo(models.Model): btitle = models.CharField(max_length=20) # 书籍名称 bpub_date = ...
随机推荐
- A Bug's Life HDU - 1829 种类并查集
//有n个成员,并查集开两倍空间 //1~n为一组, n+1~2n为一组.a与b互斥,则a与b反(即b+n)为同一集合, //同时b与a反(a+n)为同一集合 //在union操作中,引入w ,w越大 ...
- JDK下载安装与环境变量配置图文教程【超详细】
JDK下载安装与环境变量配置图文教程[超详细] 创建时间:2019年11月13日11时02分 文章目录 1. JDK介绍 1.1 什么是JDK? 1.2 JDK版本介绍 2. JDK下载与安装 3.w ...
- 每天进步一点点------Modelsim添加Xilinx仿真库的详细步骤
Modelsim,可以选型SE和XE两个版本.Modelsim XE可以直接被ISE调用,而Modelsim SE需要手动添加仿真库.但SE版和OEM版在功能和性能方面有较大差别,比如对于大家都关心的 ...
- Bootstrap 警告框(Alert)插件
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 5G三大应用场景
5G三大应用场景:eMBB(增强移动宽带).eMTC(海量物联).uRLLC(高可靠低时延连接) ------20191215闪
- VSCode常用插件之EditorConfig for vs code 使用
更多VSCode插件使用请访问:VSCode常用插件汇总 当大家在公司工作时,不可能永远是一个人维护一个项目,当多个人参与一个项目,每个人使用的编辑器不一样,代码风格自然也不一样,那么如何让使用不同编 ...
- C++-POJ1502-MPI Maelstrom-[最短路][spfa][栈优化]
我不理解为什么写dijkska就WA呢? atoi()是个好东西,给你个颜色,自己体会 疑惑!疑惑!疑惑! #include <queue> #include <cstdio> ...
- Wannafly Camp 2020 Day 2H 叁佰爱抠的序列 - 欧拉遍历
转化为完全图的欧拉遍历 如果 n 是奇数,则欧拉遍历长度为 \(n(n-1)/2\) 条边 如果 n 是偶数,则欧拉遍历长度为 \(n*n/2-1\) 条边 (即将(n-1)/2对点配对,剩下的一对当 ...
- python3练习100题——028
原题链接:http://www.runoob.com/python/python-exercise-example28.html 题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁.问第4 ...
- 2020牛客寒假算法基础集训营5 B.牛牛战队的比赛地 (二分/三分)
https://ac.nowcoder.com/acm/contest/3006/B 三分做法 #include<bits/stdc++.h> #define inf 0x3f3f3f3f ...