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实现计算倒数的方法
Jul 11 Python
Python构建网页爬虫原理分析
Dec 19 Python
Python建立Map写Excel表实例解析
Jan 17 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
May 22 Python
Python中super函数用法实例分析
Mar 18 Python
Python3实现汉语转换为汉语拼音
Jul 08 Python
Django 重写用户模型的实现
Jul 29 Python
Django restframework 框架认证、权限、限流用法示例
Dec 21 Python
python判断两个序列的成员是否一样的实例代码
Mar 01 Python
TensorFLow 数学运算的示例代码
Apr 21 Python
Django中使用Celery的方法步骤
Dec 07 Python
利于python脚本编写可视化nmap和masscan的方法
Dec 29 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
通过curl模拟post和get方式提交的表单类
2014/04/23 PHP
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
php有道翻译api调用方法实例
2014/12/22 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
突发奇想的一个jquery插件
2010/11/19 Javascript
JavaScript/jQuery 表单美化插件小结
2012/02/14 Javascript
Js 获取Gridview选中行的内容操作步骤
2013/02/05 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
2014/01/31 Javascript
JavaScript的RequireJS库入门指南
2015/07/01 Javascript
javascript表格的渲染组件
2015/07/03 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
vue分类筛选filter方法简单实例
2017/03/30 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
微信小程序-form表单提交代码实例
2019/04/29 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
Python中处理时间的几种方法小结
2015/04/09 Python
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
Python PyInstaller安装和使用教程详解
2020/01/08 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
django项目中新增app的2种实现方法
2020/04/01 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
电子信息专业学生自荐信
2013/11/09 职场文书
《世界多美呀》教学反思
2014/03/02 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
物资采购管理制度
2015/08/06 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python
详解Vue的sync修饰符
2021/05/15 Vue.js
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle