Django Model中字段(field)的各种选项说明


Posted in Python onMay 19, 2020

字段与选项

CharField() 字符字段

max_length = xxx or None # 必选项

blank = True 和 default = '' # 如果不是必填项,可以设置

unique = True # 如果想要使其唯一,比如用于username,可以设置

choices = xxx_CHOICES # 如果有choice选项,可以设置

TextField() 文本字段

max_length = xxx

blank = True 和 default = '' # 如果不是必填项,可以设置

DateField() and DateTimeField() 日期与时间字段

default date # 一般建议设置默认日期

DateField:default = date.today # 需要导入包 from datetime import date

DateTimeField:default = timezone.now # 需要导入包 from django.utils import timezone

auto_now = True # 对于上一次修改日期(last_modifiel date),可以设置

EmailField() 邮件字段

unique = True # 一般Email用于用户名应该是唯一的,建议设置

IntegerField(),SlugField(),URLField(),BoolField()

blank = True 和 default = '' # 如果不是必填项,可以设置

default = True or False # 对于BoolField一般建议设置

FileField() 文件字段

upload_to ="/some folder/ " # 文件指向文件,必填项

max_length = xxx

ImageField(upload_to = None,**options) 图片字段

upload_to = "/some folder/" # 图片指向文件,必填项

height_field = None

width_field = None

max_length = xxx

ForeighKey(to,on_delete,**options) 一对多关系

to # 必须指向其他模型

on_delete = models.CASCADE or models.SET_NULL # on_delete指定删除选项

"default = xxx" or "null = True"

"limit_choices_to = " # 如果有必要,可以设置

related_name = xxx # 便于反向查询

举例:

xxx = models.ForeignKey(xxx,
   on_delete = models.CASCADE,
   limit_choices_to = {'is_staff':True},
   related_name = xxx)

ManyToManyField(to,**options) 多对多关系

to # 必须只想其他模型

symmetrical = False # 如果多对多关系不是对称的,可以设置

through = 'intermediary model # 如果需要建立中间模型来搜集更多信息,可以设置

related_name = xxx # 便于反向查询

补充知识:django 使用annotate定义字段后排序翻页重复的问题

objs = A.objects.annotate(number=Sum('b__number')).order_by('-number')

此时对objs翻页,在number数据相同的地方翻页数据可能会混乱(重复)

解决办法,加上id排序

objs = A.objects.annotate(number=Sum('b__number')).order_by('-number', 'id')

以上这篇Django Model中字段(field)的各种选项说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现微信公众平台自定义菜单实例
Mar 20 Python
Python bsddb模块操作Berkeley DB数据库介绍
Apr 08 Python
django限制匿名用户访问及重定向的方法实例
Feb 07 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
Jun 03 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
Jul 04 Python
python os.fork() 循环输出方法
Aug 08 Python
Django如何使用第三方服务发送电子邮件
Aug 14 Python
Python socket连接中的粘包、精确传输问题实例分析
Mar 24 Python
python如何实现word批量转HTML
Sep 30 Python
python实现不同数据库间数据同步功能
Feb 25 Python
什么是Python装饰器?如何定义和使用?
Apr 11 Python
Django模板获取field的verbose_name实例
May 19 #Python
Django多层嵌套ManyToMany字段ORM操作详解
May 19 #Python
django ORM之values和annotate使用详解
May 19 #Python
基于python实现地址和经纬度转换
May 19 #Python
Python Django form 组件动态从数据库取choices数据实例
May 19 #Python
Django自关联实现多级联动查询实例
May 19 #Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
May 19 #Python
You might like
封装一个PDO数据库操作类代码
2009/09/09 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
2011/07/01 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
2017/02/23 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
2018/04/27 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
当达到输入长度时表单自动切换焦点
2014/04/06 Javascript
js通过location.search来获取页面传来的参数
2014/09/11 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
Vue2实时监听表单变化的示例讲解
2018/08/30 Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
2018/11/28 Javascript
vuejs2.0运用原生js实现简单拖拽元素功能
2020/08/21 Javascript
jQuery实现消息弹出框效果
2019/12/10 jQuery
jQuery实现的分页插件完整示例
2020/05/26 jQuery
深度解读vue-resize的具体用法
2020/07/08 Javascript
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
python实现自动化上线脚本的示例
2019/07/01 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
Python API自动化框架总结
2019/11/12 Python
Python爬取YY评级分数并保存数据实现过程解析
2020/06/01 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
Timberland美国官网:全球领先的户外品牌
2016/08/15 全球购物
室内设计实习自我鉴定
2013/09/25 职场文书
亲子活动总结
2014/04/26 职场文书
行政监察建议书
2014/05/19 职场文书
乡镇领导班子批评与自我批评材料
2014/09/23 职场文书
返乡农民工证明
2015/06/24 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
Python代码风格与编程习惯重要吗?
2021/06/03 Python
浅谈Java父子类加载顺序
2021/08/04 Java/Android