[20:06:55][5648][INFO ][utils.py:20][]: ============== log initialized ==============
Traceback (most recent call last):
File "D:\ztcjingling\ztcjl3-20120903\apps\kwlib\test.py", line 10, in
from kwlib.task_manage import Task_Manager
File "D:\ztcjingling\ztcjl3-20120903\apps\kwlib\task_manage.py", line 461, in
class Claw_Task(Task_Manager):
File "C:\Python27\lib\site-packages\mongoengine-0.8.1-py2.7.egg\mongoengine\base\metaclasses.py", line 331, in new
new_class = super_new(cls, name, bases, attrs)
File "C:\Python27\lib\site-packages\mongoengine-0.8.1-py2.7.egg\mongoengine\base\metaclasses.py", line 119, in new
base.__name__)
ValueError: Document Task_Manager may not be subclassed
python 类在实现了mongoengine后不能被继承是怎么回事?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答
- ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-04 14:49关注
这是因为在使用 mongoengine 时,定义的每个类都是一个 MongoDB 文档,并且在 mongoengine 中有一个限制,就是文档不能被继承。因此,当你尝试继承一个在 mongoengine 中定义的类时,会出现这种错误。
如果你想让一个类继承另一个类,而这个类已经在 mongoengine 中被定义为文档,则可以使用 Python 的内置关键字 super 来调用父类的方法,而无需继承父类。你可以使用下面的代码来实现这一点:
class Claw_Task: def __init__(self): super(Claw_Task, self).__init__() # your code here
这样,你就可以在 Claw_Task 类中使用 Task_Manager 类的方法,而无需继承 Task_Manager 类。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 安装svn网络有问题怎么办
- ¥15 Python爬取指定微博话题下的内容,保存为txt
- ¥15 vue2登录调用后端接口如何实现
- ¥65 永磁型步进电机PID算法
- ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
- ¥88 找成都本地经验丰富懂小程序开发的技术大咖
- ¥15 如何处理复杂数据表格的除法运算
- ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
- ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
- ¥15 latex怎么处理论文引理引用参考文献