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基于socket实现网络广播的方法
Apr 29 Python
一个基于flask的web应用诞生(1)
Apr 11 Python
python利用正则表达式排除集合中字符的功能示例
Oct 10 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
Feb 08 Python
python爬虫面试宝典(常见问题)
Mar 02 Python
儿童编程python入门
May 08 Python
对python中array.sum(axis=?)的用法介绍
Jun 28 Python
python读取Excel实例详解
Aug 17 Python
解决PySide+Python子线程更新UI线程的问题
Jan 11 Python
python矩阵/字典实现最短路径算法
Jan 17 Python
对Python3 pyc 文件的使用详解
Feb 16 Python
Python调用百度根据经纬度查询地址的示例代码
Jul 07 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自动加载机制的深入分析
2013/06/08 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
laravel中命名路由的使用方法
2017/02/24 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
2013/12/16 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
JQuery控制DIV的选取实现方法
2016/09/18 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
2016/09/29 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
layui radio点击事件实现input显示和隐藏的例子
2019/09/02 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
Python和php通信乱码问题解决方法
2014/04/15 Python
python实现计算资源图标crc值的方法
2014/10/05 Python
Python连接mysql数据库的正确姿势
2016/02/03 Python
Python模块WSGI使用详解
2018/02/02 Python
python实现简单遗传算法
2018/03/19 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
python下载库的步骤方法
2019/10/12 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
加拿大百叶窗和窗帘定制网站:Blinds
2017/01/30 全球购物
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
计算机应用专业毕业生求职信
2013/10/24 职场文书
物业管理计划书
2014/01/10 职场文书
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
村党支部换届选举方案
2014/05/02 职场文书
交通安全横幅标语
2014/10/07 职场文书
银行贷款委托书范本
2014/10/11 职场文书
期末个人总结范文
2015/02/13 职场文书
大学生年度个人总结
2015/02/15 职场文书
个人先进事迹总结
2015/02/26 职场文书