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使用any判断一个对象是否为空的方法
Nov 19 Python
Python中使用md5sum检查目录中相同文件代码分享
Feb 02 Python
python实现多线程的两种方式
May 22 Python
Python的string模块中的Template类字符串模板用法
Jun 27 Python
Python内置数据结构与操作符的练习题集锦
Jul 01 Python
Python制作简易注册登录系统
Dec 15 Python
基于Django的python验证码(实例讲解)
Oct 23 Python
python 使用pandas计算累积求和的方法
Feb 08 Python
Python基础学习之类与实例基本用法与注意事项详解
Jun 17 Python
Python threading的使用方法解析
Aug 28 Python
Python绘制分类图的方法
Apr 20 Python
Python机器学习之PCA降维算法详解
May 19 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 反射(Reflection)使用实例
2015/05/12 PHP
来自chinaz的ajax获取评论代码
2008/05/03 Javascript
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
基于NodeJS的前后端分离的思考与实践(五)多终端适配
2014/09/26 NodeJs
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
2014/12/20 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
AngularJs bootstrap搭载前台框架——准备工作
2016/09/01 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
zTree树形插件异步加载方法详解
2017/06/14 Javascript
jQuery Position方法使用和兼容性
2017/08/23 jQuery
JS返回顶部实例代码
2020/08/09 Javascript
vue 1.x 交互实现仿百度下拉列表示例
2017/10/21 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
2020/07/24 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
[02:05]2014DOTA2西雅图国际邀请赛 BBC第二天小组赛总结
2014/07/11 DOTA
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
Python基于smtplib实现异步发送邮件服务
2015/05/28 Python
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
Python中音频处理库pydub的使用教程
2017/06/07 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
Html5实现移动端、PC端 刮刮卡效果
2016/06/30 HTML / CSS
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
萨克斯第五大道的折扣店:Saks Fifth Avenue OFF 5TH
2016/08/25 全球购物
重阳节登山活动方案
2014/02/03 职场文书
爱心倡议书范文
2014/05/12 职场文书
总经理检讨书
2014/09/15 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
员工保密协议范本,您一定得收藏!很有用!
2019/08/08 职场文书
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android