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中关于for循环的碎碎念
Jun 30 Python
深入理解Django中内置的用户认证
Oct 06 Python
Pandas探索之高性能函数eval和query解析
Oct 28 Python
Python机器学习之SVM支持向量机
Dec 27 Python
python版本的仿windows计划任务工具
Apr 30 Python
Python根据已知邻接矩阵绘制无向图操作示例
Jun 23 Python
Flask框架Flask-Principal基本用法实例分析
Jul 23 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
Django中数据库的数据关系:一对一,一对多,多对多
Oct 21 Python
python 实现selenium断言和验证的方法
Feb 13 Python
Python 实现黑客帝国中的字符雨的示例代码
Feb 20 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
Feb 23 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
用DBSQL类加快开发MySQL数据库程序的速度
2006/10/09 PHP
PHP中“简单工厂模式”实例代码讲解
2012/09/04 PHP
php获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
探讨如何把session存入数据库
2013/06/07 PHP
PHP通过串口实现发送短信
2015/07/08 PHP
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
表单元素事件 (Form Element Events)
2009/07/17 Javascript
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
Node.js实现用户评论社区功能(体验前后端开发的乐趣)
2019/05/09 Javascript
javascript 数组(list)添加/删除的实现
2020/12/17 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
PyQt5每天必学之工具提示功能
2018/04/19 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
2018/04/23 Python
python twilio模块实现发送手机短信功能
2019/08/02 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
2020/02/13 Python
通过实例解析Python return运行原理
2020/03/04 Python
Ubuntu中配置TensorFlow使用环境的方法
2020/04/21 Python
Laravel的加密解密与哈希实例讲解
2021/03/24 PHP
便利店的创业计划书
2014/01/15 职场文书
小学美术教学反思
2014/02/01 职场文书
温馨提示标语
2014/06/26 职场文书
校车安全责任书
2014/08/25 职场文书
家属慰问信
2015/02/14 职场文书
社会实践活动总结格式
2015/05/11 职场文书
房屋产权证明书
2015/06/19 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技