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字符串替换的2种方法
Nov 30 Python
利用python程序帮大家清理windows垃圾
Jan 15 Python
python爬虫框架talonspider简单介绍
Jun 09 Python
python中实现k-means聚类算法详解
Nov 11 Python
Python模块WSGI使用详解
Feb 02 Python
pygame游戏之旅 载入小车图片、更新窗口
Nov 20 Python
Python 调用PIL库失败的解决方法
Jan 08 Python
Python嵌套式数据结构实例浅析
Mar 05 Python
python能做什么 python的含义
Oct 12 Python
django列表筛选功能的实现代码
Mar 27 Python
sklearn和keras的数据切分与交叉验证的实例详解
Jun 19 Python
Python中的程序流程控制语句
Feb 24 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字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
培养自己的php编码规范
2015/09/28 PHP
php可变长参数处理函数详解
2017/02/22 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
PHP标准库(PHP SPL)详解
2019/03/16 PHP
js里的prototype使用示例
2010/11/19 Javascript
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
使用JavaScript修改浏览器URL地址栏的实现代码
2013/10/21 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
2013/12/01 Javascript
JavaScript中的函数声明和函数表达式区别浅析
2015/03/27 Javascript
javascript实现淘宝幻灯片广告展示效果
2015/04/27 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
JS实现自定义弹窗功能
2018/08/08 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
微信小程序实现电影App导航和轮播
2020/11/30 Javascript
Python在图片中添加文字的两种方法
2017/04/29 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
Python实现FM算法解析
2019/06/18 Python
Python 等分切分数据及规则命名的实例代码
2019/08/16 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
小学生作文评语集锦
2014/12/25 职场文书
使用Springboot实现健身房管理系统
2021/07/01 Java/Android
Vue提供的三种调试方式你知道吗
2022/01/18 Vue.js