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 字符串格式化代码
Mar 17 Python
python获取一组数据里最大值max函数用法实例
May 26 Python
Python 实现文件的全备份和差异备份详解
Dec 27 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
Nov 14 Python
详解如何在Apache中运行Python WSGI应用
Jan 02 Python
Python 批量刷博客园访问量脚本过程解析
Aug 30 Python
用python写测试数据文件过程解析
Sep 25 Python
wxPython窗体拆分布局基础组件
Nov 19 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
Feb 25 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
Apr 20 Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 Python
浅谈Python数学建模之固定费用问题
Jun 23 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
PHP学习之PHP变量
2006/10/09 PHP
php实现修改新闻时删除图片的方法
2015/05/12 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
Gird组件 Part-3:范例RSSFeed Viewer
2007/03/10 Javascript
可以支持多中格式的JS键盘
2007/05/02 Javascript
JavaScript中判断整字类型最简洁的实现方法
2014/11/08 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
Javascript中的 “&amp;” 和 “|” 详解
2017/02/02 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
纯原生js实现贪吃蛇游戏
2020/04/16 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
2017/06/25 Javascript
详解React中setState回调函数
2018/06/14 Javascript
[01:10:24]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第一场 2月28日
2021/03/11 DOTA
Python爬虫之模拟知乎登录的方法教程
2017/05/25 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
2017/09/26 Python
python监控键盘输入实例代码
2018/02/09 Python
python pygame实现2048游戏
2018/11/20 Python
python实现图片九宫格分割
2021/03/07 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
编程实现去掉XML的重复结点
2014/05/28 面试题
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
2012/02/04 面试题
统计员岗位职责
2013/11/14 职场文书
奥巴马演讲稿
2014/01/08 职场文书
证婚人经典证婚词
2014/01/09 职场文书
优秀医生事迹材料
2014/02/12 职场文书
医学生自我鉴定范文
2014/03/26 职场文书
2014年职称评定工作总结
2014/11/26 职场文书
试用期辞职信范文
2015/03/02 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书
微信小程序实现聊天室功能
2021/06/14 Javascript