Djang的model创建的字段和参数详解


Posted in Python onJuly 27, 2019
class test_orm(models.Model):
  id = models.AutoField(primary_key=True)
  # int自增列,必须填入参数primary_key=True,当model中没有自增咧,如果不写,python会自动创建一个名为id的自增咧
 
  age = models.IntegerField(default=12)
  # 一个整数类型,范围-21474836648到21474836648
 
  name = models.CharField(max_length=64)
  # 字符类型,必须提供max_length的参数,表示字符的最大长度
  import datetime
  t1 = models.DateField(auto_now_add=True,default=datetime.date(year=2018,month=4,day=3))
  # t1 = models.DateField(auto_now=True)
  # 日期字段,日期格式,YYYY-MM-DD,相当于python中的
 
 
  t2 = models.DateTimeField(auto_now=True)
  # t2 = models.DateTimeField(auto_now_add=True)
  # 日期时间字段,格式为YYYY-MM-DD HH:MM:SS
 
  # auto_now_add:创建数据记录的时候会把当前时间添加到数据库
  # auto_now:每次更新记录的时候会更新字段
 
 
  t3 = models.SmallIntegerField()
  # 小整数,从-32768到32768
 
  t4 = models.PositiveIntegerField()
  # 正整数类型,从0到21474836648
 
  t5 =models.PositiveSmallIntegerField()
  # 正整数类型,从0到32768
 
  t6 = models.BigIntegerField()
  # 长整数,从-9223372036854775808到9223372036854775808
 
 
  t7 = models.BooleanField()
  # 布尔值类型
 
 
  t8 = models.NullBooleanField()
  # 可以为空的布尔值类型
 
 
  t9 = models.TextField()
  # 文本类型
 
  t10 =models.EmailField()
  # 字符串类型,仅仅在django的admin会校验邮箱的格式
 
  t11 = models.IPAddressField()
  # 字符串类型,仅仅在django的admin会校验ipv4的格式
 
 
  t12 = models.GenericIPAddressField(protocol="ipv4")
  # t12 = models.GenericIPAddressField(protocol="ipv6")
  # t12 = models.GenericIPAddressField(protocol="both")
  # 字符串类型,在django的admin中会同时校验ipv4和ipv6
 
  t13 = models.URLField()
  # 字符串类型,仅仅在django的admin会校验url的格式
 
 
  t14 = models.SlugField()
  # 字符串类型,django的admin提供验证字母,数字下划线,减号
 
  t15 = models.UUIDField()
 
 
  t16 = models.FileField()
  # 保存路径到数据库中
 
  t17 = models.FloatField()
  # 浮点型
 
 
  # import datetime
  # now = datetime.datetime.now()
  #
  # d = datetime.timedelta(days=7)
  #
 
  # now = now + d
 
 
  # 上面的代码是求一个时间间隔,当前时间的的7天后的时间
 
 
  # -------------------------------------------------------
  # 字段参数
 
  t18 = models.CharField(null=True,unique=True,db_index=True,primary_key=True,max_length=64,default="aaa")
 
  # db_index:为这个字段设置索引
 
  t19 = models.ForeignKey(to="test1",to_field="name",related_name="3b",on_delete=models.CASCADE(),db_constraint=False)
  # to:关联那张表
  # to_field:关联表的哪个字段
  # related_name:反向查找的时候带起表明_set
  # on_delete:表示我这个字段关联的单表删除了,我这个表的数据该如何处理
  # db_constraint:修改外键设置为软关联,不一定一定要从另外一张表中选,可以自定义,默认是True,可以调整为False
<br data-filtered="filtered"><br data-filtered="filtered"><br data-filtered="filtered">
to和related_name也可以用在多对多的关系中,已经设计数据库,这2个属性最好都加上
<br data-filtered="filtered">
 
  # 这个就是元类,就是我们经常说的元数据
  class Meta:
    db_table = "ddddd"
    # 设置表明
    unique_together = ("t12","t19")
    # 联合唯一
 
    index_together = ("t1","t13")
    # 联合索引,为这两列做一个索引
 
 
    ordering = "t19"
    # 指定默认按照什么来排序
models.DecimalField(max_digits=4,decimal_places=2,default=34.43)

小数,max_digits是小数+总数的最大长度,decimal_places是小数部分的最大长度

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现文件信息进行合并实例代码
Jan 17 Python
在pycharm中python切换解释器失败的解决方法
Oct 29 Python
使用Template格式化Python字符串的方法
Jan 22 Python
Python利用itchat库向好友或者公众号发消息的实例
Feb 21 Python
使用Windows批处理和WMI设置Python的环境变量方法
Aug 14 Python
python实现通过flask和前端进行数据收发
Aug 22 Python
Numpy中对向量、矩阵的使用详解
Oct 29 Python
基于python读取.mat文件并取出信息
Dec 16 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
Jan 20 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
Mar 04 Python
使用jupyter notebook直接打开.md格式的文件
Apr 10 Python
python 制作简单的音乐播放器
Nov 25 Python
python中bs4.BeautifulSoup的基本用法
Jul 27 #Python
Django的Modelforms用法简介
Jul 27 #Python
在django admin中添加自定义视图的例子
Jul 26 #Python
深入了解Django中间件及其方法
Jul 26 #Python
如何在Django项目中引入静态文件
Jul 26 #Python
Python 画出来六维图
Jul 26 #Python
django做form表单的数据验证过程详解
Jul 26 #Python
You might like
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
PHP匿名函数和use子句用法实例
2016/03/16 PHP
微信公众号模板消息群发php代码示例
2016/12/29 PHP
JS日历 推荐
2006/12/03 Javascript
禁止JQuery中的load方法装载IE缓存中文件的方法
2009/09/11 Javascript
jQuery Ajax使用 全解析
2010/12/15 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
js实现导航栏中英文切换效果
2017/01/16 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
python 简单的绘图工具turtle使用详解
2017/06/21 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
使用Python读取大文件的方法
2018/02/11 Python
Python后台开发Django的教程详解(启动)
2019/04/08 Python
Python基于stuck实现scoket文件传输
2020/04/02 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
为什么是 Python -m
2020/06/19 Python
用python实现学生管理系统
2020/07/24 Python
如何真正的了解python装饰器
2020/08/14 Python
通用自荐信范文
2014/03/14 职场文书
电子商务助理求职自荐信
2014/04/10 职场文书
食品安全工作方案
2014/05/07 职场文书
求职简历自荐信
2014/06/18 职场文书
安全生产年活动总结
2014/08/29 职场文书
2015出纳试用期工作总结
2014/12/12 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL
Redis中缓存穿透/击穿/雪崩问题和解决方法
2021/12/04 Redis