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 30 Python
Python可跨平台实现获取按键的方法
Mar 05 Python
python实现挑选出来100以内的质数
Mar 24 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
Apr 23 Python
python保存二维数组到txt文件中的方法
Nov 15 Python
利用python提取wav文件的mfcc方法
Jan 09 Python
pytorch使用tensorboardX进行loss可视化实例
Feb 24 Python
Python socket连接中的粘包、精确传输问题实例分析
Mar 24 Python
python使用Word2Vec进行情感分析解析
Jul 31 Python
python脚本定时发送邮件
Dec 22 Python
python爬取豆瓣电影TOP250数据
May 23 Python
如何使用python包中的sched事件调度器
Apr 30 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
php二分法在IP地址查询中的应用
2008/08/12 PHP
PHP开发中四种查询返回结果分析
2011/01/02 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
php邮件发送的两种方式
2020/04/28 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
php查询操作实现投票功能
2016/05/09 PHP
js 手机号码合法性验证代码集合
2012/09/29 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
2013/04/12 Javascript
动态标签 悬停效果 延迟加载示例代码
2013/11/21 Javascript
js验证整数加保留小数点的简单实例
2013/12/02 Javascript
javascript(js)的小数点乘法除法问题详解
2014/03/07 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
js使用DOM设置单选按钮、复选框及下拉菜单的方法
2015/01/20 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
JavaScript希尔排序、快速排序、归并排序算法
2016/05/08 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
原生JS简单实现ajax的方法示例
2016/11/29 Javascript
一道面试题引发的对javascript类型转换的思考
2017/03/06 Javascript
JS扩展String.prototype.format字符串拼接的功能
2018/03/09 Javascript
详解react内联样式使用webpack将px转rem
2018/09/13 Javascript
javascript面向对象程序设计实践常用知识点总结
2019/07/29 Javascript
python安装Scrapy图文教程
2017/08/14 Python
python机器学习之神经网络(二)
2017/12/20 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
Python常见数据类型转换操作示例
2019/05/08 Python
python+opencv像素的加减和加权操作的实现
2019/07/14 Python
Django自定义用户表+自定义admin后台中的字段实例
2019/11/18 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
2013的个人自我评价
2013/12/26 职场文书
十佳青年个人事迹材料
2014/01/28 职场文书
国家助学金获奖感言
2014/01/31 职场文书
2015暑期爱心支教策划书
2015/07/14 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP