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发送arp欺骗攻击代码分析
Jan 16 Python
Python动态加载模块的3种方法
Nov 22 Python
Python中使用PDB库调试程序
Apr 05 Python
Python字符串匹配算法KMP实例
Jul 18 Python
Python数据结构之翻转链表
Feb 25 Python
python三方库之requests的快速上手
Mar 04 Python
Python实现的多进程拷贝文件并显示百分比功能示例
Apr 09 Python
Python3进制之间的转换代码实例
Aug 24 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
Aug 27 Python
Python坐标轴操作及设置代码实例
Jun 04 Python
全网最细 Python 格式化输出用法讲解(推荐)
Jan 18 Python
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
May 27 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
Laravel模板引擎Blade中section的一些标签的区别介绍
2015/02/10 PHP
php通过排列组合实现1到9数字相加都等于20的方法
2015/08/03 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
2012/09/02 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
JS+CSS实现表格高亮的方法
2015/08/05 Javascript
js实现的二分查找算法实例
2016/01/21 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
Python中的对象,方法,类,实例,函数用法分析
2015/01/15 Python
使用Python脚本将Bing的每日图片作为桌面的教程
2015/05/04 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
python 定时器,轮询定时器的实例
2019/02/20 Python
pybind11在Windows下的使用教程
2019/07/04 Python
Python list与NumPy array 区分详解
2019/11/06 Python
Python for i in range ()用法详解
2020/09/18 Python
Python3 实现减少可调用对象的参数个数
2019/12/20 Python
Python3常见函数range()用法详解
2019/12/30 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
python中xlrd模块的使用详解
2021/02/01 Python
纯css3实现鼠标经过图片显示描述的动画效果
2014/09/01 HTML / CSS
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
Sony C++笔试题
2013/03/10 面试题
就业自荐信
2013/12/04 职场文书
护士毕业生自我鉴定
2014/02/08 职场文书
家长学校实施方案
2014/03/15 职场文书
卖车协议书范例
2014/09/16 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
实习护士自荐信
2015/03/25 职场文书
运动会运动员赞词
2015/07/22 职场文书
《实心球》教学反思
2016/02/23 职场文书
python 模拟在天空中放风筝的示例代码
2021/04/21 Python
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python