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获取CPU和内存信息的思路与实现(linux系统)
Jan 03 Python
Python中的Matplotlib模块入门教程
Apr 15 Python
linux下python抓屏实现方法
May 22 Python
python基于隐马尔可夫模型实现中文拼音输入
Apr 01 Python
浅谈Python 对象内存占用
Jul 15 Python
python os.path模块常用方法实例详解
Sep 16 Python
Django的models模型的具体使用
Jul 15 Python
Django 静态文件配置过程详解
Jul 23 Python
Pytorch中膨胀卷积的用法详解
Jan 07 Python
python、PyTorch图像读取与numpy转换实例
Jan 13 Python
解决django 向mysql中写入中文字符出错的问题
May 18 Python
python实现磁盘日志清理的示例
Nov 05 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为表单获取的URL 地址预设 http 字符串函数代码
2010/05/26 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
2014/07/30 PHP
Yii2 assets清除缓存的方法
2016/05/16 PHP
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
固定背景实现的背景滚动特效示例分享
2013/05/19 Javascript
js弹出div并显示遮罩层
2014/02/12 Javascript
jQuery固定浮动侧边栏实现思路及代码
2014/09/28 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
2015/04/15 Javascript
javascript合并表格单元格实例代码
2016/01/03 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
2016/10/01 Javascript
js分页之前端代码实现和请求处理
2017/08/04 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
Element Rate 评分的使用方法
2020/07/27 Javascript
Vue两种组件类型:递归组件和动态组件的用法
2020/08/06 Javascript
Nest.js 授权验证的方法示例
2021/02/22 Javascript
python关键字and和or用法实例
2015/05/28 Python
python学习之面向对象【入门初级篇】
2017/01/21 Python
python的unittest测试类代码实例
2017/12/07 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
2018/10/11 Python
对python遍历文件夹中的所有jpg文件的实例详解
2018/12/08 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
python实现加密的方式总结
2020/01/19 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
Python调用飞书发送消息的示例
2020/11/10 Python
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
Champion官网:美国冠军运动服装
2017/01/25 全球购物
PacSun官网:加州生活方式服装、鞋子和配饰
2018/03/10 全球购物
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
黄金酒广告词
2014/03/21 职场文书
实验室标语
2014/06/21 职场文书
安全保证书
2015/01/16 职场文书
中考学习决心书
2015/02/04 职场文书
走进科学观后感
2015/06/18 职场文书
Python如何解决secure_filename对中文不支持问题
2021/07/16 Python
SQL SERVER中的流程控制语句
2022/05/25 SQL Server