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打开网页和暂停实例
Sep 30 Python
python关键字and和or用法实例
May 28 Python
python3读取MySQL-Front的MYSQL密码
May 03 Python
利用Python如何实现数据驱动的接口自动化测试
May 11 Python
python爬虫超时的处理的实例
Dec 19 Python
对Python+opencv将图片生成视频的实例详解
Jan 08 Python
pycharm运行scrapy过程图解
Nov 22 Python
基于Python获取docx/doc文件内容代码解析
Feb 17 Python
python解释器pycharm安装及环境变量配置教程图文详解
Feb 26 Python
python中round函数如何使用
Jun 19 Python
python中执行smtplib失败的处理方法
Jul 01 Python
解决Python 函数声明先后顺序出现的问题
Sep 02 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初学者头疼问题总结
2006/07/08 PHP
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
2007/03/06 PHP
封装一个PDO数据库操作类代码
2009/09/09 PHP
php 输出双引号&quot;与单引号'的方法
2010/05/09 PHP
php字符串分割函数explode的实例代码
2013/02/07 PHP
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
2015/07/06 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
使用jscript实现二进制读写脚本代码
2008/06/09 Javascript
javascript深入理解js闭包
2010/07/03 Javascript
Javascript动态绑定事件的简单实现代码
2010/12/25 Javascript
利用javascript打开模态对话框(示例代码)
2014/01/11 Javascript
JS 弹出层 定位至屏幕居中示例
2014/05/21 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
js+HTML5实现canvas多种颜色渐变效果的方法
2015/06/05 Javascript
jQuery mobile类库使用时加载导航历史的方法简介
2015/12/04 Javascript
jQuery中table数据的值拷贝和拆分
2017/03/19 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
JS实现图片放大镜插件详解
2017/11/06 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
2018/05/23 Javascript
python 爬取微信文章
2016/01/30 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
python 实现aes256加密
2020/11/27 Python
联想德国官网:Lenovo Germany
2018/07/04 全球购物
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
财产公证书样本
2014/04/04 职场文书
药剂专业个人求职信范文
2014/04/29 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
2015年人民调解工作总结
2015/05/18 职场文书
观后感的写法
2015/06/19 职场文书
教师节班会主持词
2015/07/06 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书