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中摘要算法MD5,SHA1简介及应用实例代码
Jan 09 Python
python 对象和json互相转换方法
Mar 22 Python
Python图像处理之识别图像中的文字(实例讲解)
May 10 Python
python解析json串与正则匹配对比方法
Dec 20 Python
pandas通过字典生成dataframe的方法步骤
Jul 23 Python
Python2和3字符编码的区别知识点整理
Aug 08 Python
Python学习笔记之For循环用法详解
Aug 14 Python
python全局变量引用与修改过程解析
Jan 07 Python
Python日志logging模块功能与用法详解
Apr 09 Python
Python如何获取文件指定行的内容
May 27 Python
将不规则的Python多维数组拉平到一维的方法实现
Jan 11 Python
教你怎么用Python处理excel实现自动化办公
Apr 30 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 一个比较完善的简单文件上传
2010/03/25 PHP
php imagecreatetruecolor 创建高清和透明图片代码小结
2010/05/15 PHP
PHP两种去掉数组重复值的方法比较
2014/06/19 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
为你的 Laravel 验证器加上多验证场景的实现
2020/04/07 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
javascript prototype,executing,context,closure
2008/12/24 Javascript
Grid得到选择行数据的方法总结
2011/01/17 Javascript
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
javascript使用正则获取url上的某个参数
2014/09/04 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
bootstrap轮播模板使用方法详解
2017/11/17 Javascript
Node.js系列之发起get/post请求(2)
2019/08/30 Javascript
angular中的post请求处理示例详解
2020/06/30 Javascript
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
利用Python操作消息队列RabbitMQ的方法教程
2017/07/19 Python
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
Python paramiko模块的使用示例
2018/04/11 Python
Python3的介绍、安装和命令行的认识(推荐)
2018/10/20 Python
Python面向对象之类的封装操作示例
2019/06/08 Python
Python实现TCP通信的示例代码
2019/09/09 Python
Python 获取项目根路径的代码
2019/09/27 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
银行自荐信范文
2013/10/07 职场文书
写求职信有什么意义
2014/02/17 职场文书
担保书格式及范文
2014/04/01 职场文书
导航工程专业自荐信
2014/09/02 职场文书
2014年仓库工作总结
2014/11/20 职场文书
学生会干部任命书
2015/09/21 职场文书
详解mysql三值逻辑与NULL
2021/05/19 MySQL