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实现带声音的摩斯码翻译实现方法
May 20 Python
在Django中进行用户注册和邮箱验证的方法
May 09 Python
Python-嵌套列表list的全面解析
Jun 08 Python
Python编程实现数学运算求一元二次方程的实根算法示例
Apr 02 Python
python数据抓取分析的示例代码(python + mongodb)
Dec 25 Python
Python正则表达式和元字符详解
Nov 29 Python
python添加模块搜索路径和包的导入方法
Jan 19 Python
Python2和Python3的共存和切换使用
Apr 12 Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 Python
Tensorflow 多线程设置方式
Feb 06 Python
python 进制转换 int、bin、oct、hex的原理
Jan 13 Python
Python3.8官网文档之类的基础语法阅读
Sep 04 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/12/29 PHP
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
php readfile下载大文件失败的解决方法
2017/05/22 PHP
YII框架实现自定义第三方扩展操作示例
2019/04/26 PHP
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
js中widow.open()方法使用详解
2013/07/30 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
2016/05/03 Javascript
Js实现京东无延迟菜单效果实例(demo)
2017/06/02 Javascript
JS中定位 position 的使用实例代码
2017/08/06 Javascript
全新打包工具parcel零配置vue开发脚手架
2018/01/11 Javascript
Vue组件开发技巧总结
2018/03/04 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
angularjs http与后台交互的实现示例
2018/12/21 Javascript
Python中__new__与__init__方法的区别详解
2015/05/04 Python
Python自定义简单图轴简单实例
2018/01/08 Python
Python中实现单例模式的n种方式和原理
2018/11/14 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
Python配置文件处理的方法教程
2019/08/29 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
python实现感知机模型的示例
2020/09/30 Python
你们项目是如何进行变更控制的
2015/08/26 面试题
敬老院活动总结
2014/04/28 职场文书
2014小学二年级班主任工作总结
2014/12/05 职场文书
承诺书范本大全
2015/05/04 职场文书
企业员工辞职信范文
2015/05/12 职场文书
文化大革命观后感
2015/06/17 职场文书
高二语文教学反思
2016/02/16 职场文书
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技