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 with的用法
Aug 22 Python
python多重继承实例
Oct 11 Python
在Python中操作时间之tzset()方法的使用教程
May 22 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
Jan 20 Python
Python连接PostgreSQL数据库的方法
Nov 28 Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
Jun 07 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
Oct 30 Python
多个python文件调用logging模块报错误
Feb 12 Python
Python实现AI自动抠图实例解析
Mar 05 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
Jul 18 Python
如何利用python发送邮件
Sep 26 Python
Python中常见的导入方式总结
May 06 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
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
高亮度显示php源代码
2006/10/09 PHP
PHP中MVC模式的模板引擎开发经验分享
2011/03/23 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
2019/02/15 PHP
js对数字的格式化使用说明
2011/01/12 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
在Javascript中处理字符串之big()方法的使用
2015/06/08 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
浅谈angularJS中的事件
2016/07/12 Javascript
详解js的异步编程技术的方法
2017/02/09 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
2019/02/08 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
微信小程序tab左右滑动切换功能的实现代码
2021/02/08 Javascript
[01:05:00]2018国际邀请赛 表演赛 Pain vs OpenAI
2018/08/24 DOTA
python实现井字棋游戏
2020/03/30 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
Python框架Flask的基本数据库操作方法分析
2018/07/13 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
python实现windows倒计时锁屏功能
2019/07/30 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
2020/10/28 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
大学新学期计划书
2014/04/28 职场文书
年检委托书
2014/08/30 职场文书
2015年党风建设工作总结
2015/04/29 职场文书
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技