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私有属性和方法实例分析
Jan 15 Python
Python基于tkinter模块实现的改名小工具示例
Jul 27 Python
Python字典实现简单的三级菜单(实例讲解)
Jul 31 Python
详解python中asyncio模块
Mar 03 Python
解决csv.writer写入文件有多余的空行问题
Jul 06 Python
使用Python获取并处理IP的类型及格式方法
Nov 01 Python
Python 使用list和tuple+条件判断详解
Jul 30 Python
深入学习python多线程与GIL
Aug 26 Python
Python编程快速上手——强口令检测算法案例分析
Feb 29 Python
浅谈python3打包与拆包在函数的应用详解
May 02 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
Dec 18 Python
Python包argparse模块常用方法
Jun 04 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
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
PHP的范围解析操作符(::)的含义分析说明
2011/07/03 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
json数据的列循环示例
2013/09/06 Javascript
基于jQuery实现照片墙自动播放特效
2017/01/12 Javascript
微信小程序 基础知识css样式media标签
2017/02/15 Javascript
js遍历获取表格内数据的方法(必看)
2017/04/06 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
2017/07/11 Javascript
详解vue2 $watch要注意的问题
2017/09/08 Javascript
vue文件树组件使用详解
2018/03/29 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
vuex vue简单使用知识点总结
2019/08/29 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
javascript 函数的暂停和恢复实例详解
2020/04/25 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
2020/09/29 Javascript
[31:01]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS Orenda
2014/05/23 DOTA
用Python编程实现语音控制电脑
2014/04/01 Python
基于Python的身份证号码自动生成程序
2014/08/15 Python
python脚本实现分析dns日志并对受访域名排行
2014/09/18 Python
Python3计算三角形的面积代码
2017/12/18 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
Python 解析pymysql模块操作数据库的方法
2020/02/18 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
Travelstart沙特阿拉伯:廉价航班、豪华酒店和实惠的汽车租赁优惠
2019/04/06 全球购物
广州盈通面试题
2015/12/05 面试题
运动会邀请函范文
2014/02/06 职场文书
农村婚庆主持词
2015/06/29 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python
MySQL EXPLAIN输出列的详细解释
2021/05/12 MySQL