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操作MySQL数据库的方法分享
May 29 Python
Python采集腾讯新闻实例
Jul 10 Python
用Python的Django框架完成视频处理任务的教程
Apr 02 Python
在Python下使用Txt2Html实现网页过滤代理的教程
Apr 11 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
Sep 04 Python
解决Python获取字典dict中不存在的值时出错问题
Oct 17 Python
python使用xlrd模块读取xlsx文件中的ip方法
Jan 11 Python
Python实现的列表排序、反转操作示例
Mar 13 Python
如何用C代码给Python写扩展库(Cython)
May 17 Python
Python调用scp向服务器上传文件示例
Dec 22 Python
Python异步编程之协程任务的调度操作实例分析
Feb 01 Python
Python tkinter实现简单加法计算器代码实例
May 13 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导出oracle库的php代码
2009/04/20 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
百度地图api如何使用
2015/08/03 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
2017/03/14 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
Bootstrap图片轮播效果详解
2017/10/17 Javascript
JavaScript判断变量名是否存在数组中的实例
2017/12/28 Javascript
Array数组对象中的forEach、map、filter及reduce详析
2018/08/02 Javascript
Vue使用Proxy监听所有接口状态的方法实现
2019/06/07 Javascript
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
全面解析JavaScript Module模式
2020/07/24 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
python获取外网IP并发邮件的实现方法
2017/10/01 Python
python 日期操作类代码
2018/05/05 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
2020/09/25 Python
Django中使用Celery的方法步骤
2020/12/07 Python
英国领先的珍珠首饰品牌:Orchira
2016/09/11 全球购物
意大利奢侈品多品牌集合店:TheDoubleF
2019/08/24 全球购物
采用怎样的方法保证数据的完整性
2013/12/02 面试题
一套中级Java程序员笔试题
2015/01/14 面试题
职业教育毕业生求职信
2013/11/09 职场文书
工程资料员岗位职责
2014/03/10 职场文书
优秀家长自荐材料
2014/08/26 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
党员考试作弊检讨书1000字
2015/02/16 职场文书
求职导师推荐信范文
2015/03/27 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
导游词之天津古文化街
2019/11/09 职场文书
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android