Django中自定义查询对象的具体使用


Posted in Python onOctober 13, 2019

自定义查询对象 - objects

①声明一个类EntryManager,继承自models.Manager,并添加自定义函数

②使用创建的自定义类EntryManager 覆盖Models中的objects

# models.py
class AuthorManager(models.Manager): # 新建一个类,继承自models.Manager
  def name_count(self, keywords): # 添加自定义的查询函数
   '''统计姓名中含有某些关键字的数量'''
    return self.filter(name__contains=keywords).count()
    
  def lt_age(self, age):
    '''查询年龄小于指定年龄的信息'''
    return self.filter(age__lt=age)

class Author(models.Model):
  objects = AuthorManager() # 使用创建的自定义类覆盖objects

  name = models.CharField(max_length=30, verbose_name='姓名')
  age = models.IntegerField(verbose_name='年龄')
  email = models.EmailField(null=True, verbose_name='邮箱')
  picture = models.ImageField(null=True, upload_to='static/upload/usring', verbose_name='用户头像')

  publisher = models.ManyToManyField(Publisher, null=True, verbose_name='出版社')

# views.py
def myself(request):
 '''自定义查询函数'''
 # 统计名字中包含王字的
  num = Author.objects.name_count(keywords='王') 
 
 # 查询年龄小于36的作者信息
  authors = Author.objects.lt_age(age=36)
  return render(request, 'name_count.html', locals())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现将不规范的英文名字首字母大写
Nov 15 Python
python查看微信好友是否删除自己
Dec 19 Python
浅谈Python生成器generator之next和send的运行流程(详解)
May 08 Python
对pandas中apply函数的用法详解
Apr 10 Python
python交互模式下输入换行/输入多行命令的方法
Jul 02 Python
详解Python 4.0 预计推出的新功能
Jul 26 Python
python爬虫 2019中国好声音评论爬取过程解析
Aug 26 Python
Python列表切片常用操作实例解析
Dec 16 Python
Python3 解决读取中文文件txt编码的问题
Dec 20 Python
python和php哪个更适合写爬虫
Jun 22 Python
Python生成器传参数及返回值原理解析
Jul 22 Python
Python自动操作神器PyAutoGUI的使用教程
Jun 16 Python
PyCharm导入python项目并配置虚拟环境的教程详解
Oct 13 #Python
Python 用三行代码提取PDF表格数据
Oct 13 #Python
Python3离线安装Requests模块问题
Oct 13 #Python
详解使用Python下载文件的几种方法
Oct 13 #Python
Python中输入和输出(打印)数据实例方法
Oct 13 #Python
分享8点超级有用的Python编程建议(推荐)
Oct 13 #Python
ipad上运行python的方法步骤
Oct 12 #Python
You might like
PHP正则表达式之定界符和原子介绍
2012/10/05 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
利用PHP如何写APP接口详解
2016/08/23 PHP
简单实现PHP留言板功能
2016/12/21 PHP
js 事件小结 表格区别
2007/08/13 Javascript
jqPlot Option配置对象详解
2009/07/25 Javascript
javascript中检测变量的类型的代码
2010/12/28 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
2014/08/20 Javascript
开源的javascript项目Kissy介绍
2014/11/28 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
2015/09/24 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
判断js的Array和Object的实现方法
2016/08/29 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
详解Vue 全局变量,局部变量
2019/04/17 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
vue 项目引入echarts 添加点击事件操作
2020/09/09 Javascript
python中int与str互转方法
2018/07/02 Python
PyQt5 多窗口连接实例
2019/06/19 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
描述RIP和OSPF区别以及特点
2015/01/17 面试题
寒假实习自荐信
2014/01/26 职场文书
小学教师培训感言
2014/02/11 职场文书
党员查摆问题及整改措施
2014/10/10 职场文书
2016党员学习《反对自由主义》心得体会
2016/01/22 职场文书
《飘》英文读后感五篇
2019/10/11 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS