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 selenium实现微博自动登录的示例代码
May 16 Python
浅析Python四种数据类型
Sep 26 Python
基于python实现百度翻译功能
May 09 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
Dec 06 Python
python 实现保存最新的三份文件,其余的都删掉
Dec 22 Python
使用Puppeteer爬取微信文章的实现
Feb 11 Python
python数据爬下来保存的位置
Feb 17 Python
python学生管理系统的实现
Apr 05 Python
Python实现ElGamal加密算法的示例代码
Jun 19 Python
Python 在函数上添加包装器
Jul 28 Python
python 实现Harris角点检测算法
Dec 11 Python
pd.drop_duplicates删除重复行的方法实现
Jun 16 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
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
2010/12/29 PHP
PHP 实现explort() 功能的详解
2013/06/20 PHP
php获取mysql字段名称和其它信息的例子
2014/04/14 PHP
golang 调用 php7详解及实例
2017/01/04 PHP
使用composer 安装 laravel框架的方法图文详解
2019/08/02 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
json跟xml的对比分析
2008/06/10 Javascript
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
event.currentTarget与event.target的区别介绍
2012/12/31 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
JavaScript中reduce()方法的使用详解
2015/06/09 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
原生js实现水平方向无缝滚动
2017/01/10 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
基于angular实现三级联动的生日插件
2017/05/12 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
基于openlayers4实现点的扩散效果
2020/08/17 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
在Python程序中实现分布式进程的教程
2015/04/28 Python
Python 内置函数complex详解
2016/10/23 Python
Python模拟三级菜单效果
2017/09/11 Python
对Python 语音识别框架详解
2018/12/24 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
2020/04/19 Python
浅谈Selenium 控制浏览器的常用方法
2020/12/04 Python
html5音频_动力节点Java学院整理
2018/08/22 HTML / CSS
师范院校学生自荐信范文
2013/12/27 职场文书
买房子个人收入证明
2014/01/16 职场文书
初中语文教学反思
2014/02/02 职场文书
班干部演讲稿
2014/04/24 职场文书
特教教师先进事迹
2014/05/21 职场文书
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
处理canvas绘制图片模糊问题
2022/05/11 Javascript