经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Django » 查看文章
Django中自定义查询对象的具体使用
来源:jb51  时间:2019/10/14 9:38:03  对本文有异议

自定义查询对象 - objects

①声明一个类EntryManager,继承自models.Manager,并添加自定义函数

②使用创建的自定义类EntryManager 覆盖Models中的objects

  1. # models.py
  2. class AuthorManager(models.Manager): # 新建一个类,继承自models.Manager
  3. def name_count(self, keywords): # 添加自定义的查询函数
  4. '''统计姓名中含有某些关键字的数量'''
  5. return self.filter(name__contains=keywords).count()
  6. def lt_age(self, age):
  7. '''查询年龄小于指定年龄的信息'''
  8. return self.filter(age__lt=age)
  9.  
  10. class Author(models.Model):
  11. objects = AuthorManager() # 使用创建的自定义类覆盖objects
  12.  
  13. name = models.CharField(max_length=30, verbose_name='姓名')
  14. age = models.IntegerField(verbose_name='年龄')
  15. email = models.EmailField(null=True, verbose_name='邮箱')
  16. picture = models.ImageField(null=True, upload_to='static/upload/usring', verbose_name='用户头像')
  17.  
  18. publisher = models.ManyToManyField(Publisher, null=True, verbose_name='出版社')
  19.  
  20. # views.py
  21. def myself(request):
  22. '''自定义查询函数'''
  23. # 统计名字中包含王字的
  24. num = Author.objects.name_count(keywords='王')
  25. # 查询年龄小于36的作者信息
  26. authors = Author.objects.lt_age(age=36)
  27. return render(request, 'name_count.html', locals())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号