models.py代码如下:

from django.db import models# Create your models here.# 增加额外的Manager方法
# 为Book模型定义一个title_count()方法,它需要一个关键字,返回包含这个关键字的书的数量
class BookManager(models.Manager):def title_count(self, keyword):return self.filter(title__icontains=keyword).count()class Book(models.Model):title=models.CharField(max_length=100)authors=models.ManyToManyField(Author)publisher=models.ForeignKey(Publisher,on_delete=models.CASCADE)publication_date=models.DateField()# 添加一个num_pages字段# blank=True,null=True用于“设置可选字段”以及“添加非空列”# num_pages=models.IntegerField(blank=True,null=True)objects=BookManager()def __unicode__(self):return self.titledef __str__(self):return self.title

其中BookManeger类继承了models.Manager类,用于进行自定义Manager方法。

通过以下命令来检测自定义的方法的可用性:

>>> from books.models import Book
>>> Book.objects.title_count('django')
2

输出结果表示方法能够正常运行。

但是在运行成功之前报错:AttributeError: 'Manager' object has no attribute 'title_count'

发现错误的原因有两处:

(1)class BookManager(models.Manager):这里应该继承与models.Manager而不是models.Model

(2)在Book模型类中应该添加objects=BookManager()来将自定义的模型方法引入。

转载于:https://www.cnblogs.com/wyhluckdog/p/11383990.html

django中自定义了manager函数,使用的时候报错AttributeError: 'Manager' object has no attribute 'title_count'...相关推荐

  1. 关于在《python编程从入门到实践》书中练习“外星人大战”报错“AttributeError: ‘AlienInvasion‘ object has no attribute ‘blit‘”

    关于在<python编程从入门到实践>书中练习"外星人大战"报错"AttributeError: 'AlienInvasion' object has no ...

  2. python中引入包的时候报错AttributeError: module ‘sys‘ has no attribute ‘setdefaultencoding‘解决方法?

    python中引入包的时候报错AttributeError: module 'sys' has no attribute 'setdefaultencoding'解决方法? 参考文章: (1)pyth ...

  3. 初学者-python中自定义类的已有self定义,后面使用出现object has no attribute问题

    修改别人python代码,会遇到在类的init中已定义self,但后面使用还是找不到定义的self.*,其中一个原因是init中self定义顺序的问题,比如:如下为正确的 class LSTM(obj ...

  4. python中使用ZADD方法报错AttributeError: 'int' object has no attribute 'items'

    redis的版本关系 正确的完整实例如下: import pymongo import redis# 代码作用是mongodb的数据传送到redis中去 handler = pymongo.Mongo ...

  5. django中自定义标签和过滤器

    django中自定义标签和过滤器 原文:http://www.cnblogs.com/MnCu8261/p/5934203.html 纪念如何填了半天的坑,红色重点 想要实现自定义标签和过滤器需要进行 ...

  6. django 中model踩的坑之AttributeError: type object ** has no attribute 'objects'及Field defines a relation

    django 中model踩的坑之AttributeError: type object ** has no attribute 'objects'及Field defines a relation ...

  7. 【错误记录】Groovy 函数参数动态类型报错 ( Caught: groovy.lang.MissingMethodException: No signature of method )

    文章目录 一.报错信息 二.解决方案 一.报错信息 定义 Groovy 函数 , void fun(object) {object.hello() } 如果传入的 实例对象 中 , 没有定义 hell ...

  8. C/C++多个链接库含有同名函数,编译会报错吗

    C/C++多个链接库含有同名函数,编译会报错吗 起因 基本概念 同名函数测试 测试1:`.o`目标文件 测试2:静态库 测试3:动态库 同名函数的应用 起因 由于业务需要,我司使用了Mellanox某 ...

  9. 2021-10-22 使用open3d的estimate_normals函数报错AttributeError

    使用open3d的estimate_normals函数报错AttributeError 使用方法 ... xyz_pcd.estimate_normals(search_param=o3d.geome ...

  10. python2 中使用pip2 install package_name的时候报错:AttributeError: ‘int‘ object has no attribute ‘endswith‘

    1 错误说明 1.在python2的环境下使用pip2 install安装库包的时候报错:AttributeError: 'int' object has no attribute 'endswith ...

最新文章

  1. 爬虫正则表达式遇到的困难
  2. 推荐几款好用又免费的项目管理工具
  3. android 美颜,「照骗」要消失了?Android 11 或禁用自动美颜
  4. 时间序列:简易prophet
  5. c语言菜单程序循环结构举例,C语言程序设计课件 第4章 循环结构.ppt
  6. 【转】android-修改TextView中部分文字的颜色
  7. 从零开始的全栈工程师——html篇1.6
  8. 安卓 App 库存系统开发 开发成本估计
  9. 数百种 Windows 软件的免费替代品列表(转)
  10. 二、安装Robot framework-selenium2library
  11. php swfupload,ThinkPHP+swfupload多图上传实例 经典实用的php多图上传
  12. 将源码打包成deb软件包
  13. 大话私服虚拟服务器,大话西游私服服务器
  14. “生死看淡”的雷军要造车,这对中国的汽车产业意味着什么?
  15. BMapGL实现地图轨迹运动(地图视角不变)
  16. 沈向洋官宣离职微软!他是微软级别最高的中国人、微软AI领导者
  17. 关于VMware上的VAAI特性详解
  18. windows7蓝牙怎么打开_【windows7】IP地址查询方法
  19. gif一键抠图 在线_强力推荐!免费在线的一键抠图神器:AIpix
  20. replace去除空格

热门文章

  1. java实现秒杀系统_Java秒杀系统--4.实现秒杀接口
  2. 游戏开发之C++对C的扩展(C++基础)
  3. Security+ 学习笔记32 云安全控制
  4. MySQL优化详解(四)——MySQL缓存设置
  5. JavaScript项目中锁定npm依赖包版本
  6. IBM与西班牙桑坦德银行合作,推广企业级 iOS 银行应用
  7. 【转】Eclipse下支持编写HTML/JS/CSS/JSP页面的自动提示
  8. 打表(1215)七夕节
  9. Equinox MANIFEST.MF 中文处理 Bug
  10. STL 之 vector 的使用 (转载)