双重继承导致元类冲突

2023-12-22

我使用两个 django 包 - django-mptt(用于实现修改的预序树遍历的实用程序)和 django-hvad(模型翻译)。

我有一个模特班MenuItem我希望它扩展 TranslatableModel 和 MPTTModel,如下所示:

class MenuItem(TranslatableModel, MPTTModel):

但这会导致元类冲突:

(TypeError: Error when calling the metaclass bases 
metaclass conflict: the metaclass of a derived class 
must be a (non-strict) subclass of the metaclasses of all its bases)

这个问题的解决办法是什么?我希望我可以使用双重继承。


您可能想要执行以下操作:

class CombinedMeta(TranslatableModel.__metaclass__, MPTTModel.__metaclass__):
    pass
class MenuItem(TranslatableModel, MPTTModel):
    __metaclass__=CombinedMeta

这应该会给你你想要的,没有任何错误消息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

双重继承导致元类冲突 的相关文章

随机推荐

  • 是否强制要求短路逻辑运算符?以及评估顺序?

    有ANSI标准吗mandate在 C 或 C 中要短路的逻辑运算符 我很困惑 因为我记得 K R 书中说你的代码不应该依赖于这些被短路的操作 因为它们可能不会 有人可以指出标准中哪里说逻辑操作总是短路的吗 我对 C 最感兴趣 对于 C 的答
  • 使用动态 form_class 更新视图

    我想动态改变form class of an UpdateViewDjango 1 6 中的 CBV 我尝试使用 get context data 来执行此操作 但这没有帮助 因为表单已经初始化 所以这需要在 init 我猜 这是我尝试过的
  • R中的zoo对象和ts对象有什么区别?

    我想知道使用上的差异ts or zoo 功能 动物园对象的索引属性中的时间值 可能不规则 在控制台上显示为行名称print zoo方法以及矩阵或原子向量中的值 这些值对可以使用的值进行了限制 通常是数字 但必须全部是单一模式 即不是像数据帧
  • 我应该在程序结束时删除 C++ 中的大树集合还是将其留给操作系统? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 这可能是个有点愚蠢的问题 我应该打电话吗delete在节目结束时的巨大地图 场景上 假设整个程序都需要地图 集合 delete是返回前的最后一行
  • tumblr 和 google+ 如何像拼图一样堆叠图像?

    我想要制作一个图像库 并且想知道如何像 Google 和 tumblr 那样堆叠图像 我的意思是 当你查看 tumblr 的存档页面时 它们都堆积在列中 http the overlook hotel tumblr com archive
  • Azure 网站支持的最大域数

    我们正在构建一个托管服务 每个用户在注册时都会在我们的服务域上获得一个自定义子域 例如john myservice com 我们通过在 Azure 网站的域管理器中添加通配符条目来处理此问题 myservice com Azure 网站现在
  • Heroku 上的回形针?

    我很好奇是否有人可以在不使用 S3 的情况下在 Heroku 上工作 我假设 Heroku 是一个只读系统 但必须有某种方法可以在那里保存图像 您无法写入 Heroku 的文件系统 因此无法按照您想要的方式保存图像 您的选择是使用 S3 等
  • django-rest-auth 重置密码 uid 和令牌

    我们的团队在后端使用 django rest api 进行项目 并在前端进行响应 对于身份验证 我们使用 django rest auth 并且我们在密码重置方面遇到问题 这里的网址 urlpatterns url r accounts i
  • 如何在 AngularJS 中异步加载谷歌地图?

    现在我已经找到了一种在以下方法的帮助下初始化 Google 地图的方法安迪 乔斯林 https stackoverflow com users 1397051 andy joslin在这个SO在 angularjs 中初始化 google
  • 使用 ReverseLayout recyclerview 将项目添加到 Endless Scroll RecyclerView

    在普通的回收器视图中 最新的项目都位于顶部 如果您将项目添加到回收器视图中 它会将现有项目向下推 新项目占据顶部位置 在reverseLayout recyclerview中 最新的项目都位于底部 如果您将项目添加到recyclerview
  • 如何在 Maven 项目中添加 Flight Recorder 启用标志?

    我正要开始使用Java 任务控制 5 3 0 我已经添加了 XX 解锁商业功能 XX FlightRecorder进入我的网络应用程序的 jetty template 然后我启动网络应用程序mvn 码头 运行 但是当我开始的时候飞行记录仪我
  • CSV 文件上传不适用于 Codeigniter

    我正在使用下面的代码上传 csv 文件 它总是说 无效文件错误 我该如何解决这个问题 这是我的表格
  • 运行多个 UI 线程

    跳到底部查看问题 这只是一些额外信息 我正在使用一个组件 GeckoFX 来渲染一些网站 很好 但它只能在 Windows 窗体中使用 因为它必须绑定到可以绘制的 WinForms 对象 因为所有 WinForm 都在同一个线程中运行 所以
  • 角度组件没有被破坏

    在角度应用程序中 每次我路由到新页面时 之前页面的组件都会保留在内存中 它没有被破坏 当我路由回该页面时 它会创建一个新实例 应用程序不是通过 Angular CLI 创建的 它是一个使用 Angular 网站上提供的 webpack 配置
  • javascript字符串解释为对象

    从生产的角度来看可能无关紧要 但我想知道为什么会这样 字符串文字被解释为对象 function fancyCallback callback callback this console log typeof this just to see
  • 替换 CSV 字符串中的值

    我有一个以逗号分隔的产品列表 由于项目列表已替换为新产品项目 我正在尝试使用新产品项目列表修改此 CSV 列表 create table tmp id int identity 1 1 not null plist varchar max
  • 为什么这会导致分段错误?

    我一直在 C 项目中对此进行编码 通常我不会遇到太大的分段错误问题 但我是 C 新手 基本上我正在创建一个指向 IntList 的指针 并调用 prepend 从指针创建一个 IntList 问题是 当调用 prepend 时 它会卡在头文
  • Flexbox 最佳填充

    我有一个基本的 Flexbox 列式布局 其中包含固定宽度容器和固定宽度可变高度元素 for let e of document getElementsByClassName element e style height Math floo
  • 汇编指令“Intel 组”类别源自何处?

    在开发 86 DOS 应用程序的分支期间 lDebug https pushbx org ecm web projects ldebug 我遇到了称为 英特尔组 的指令类别 具体来说 组是指与使用相同 1 或 2 个操作码字节的一组指令相关
  • 双重继承导致元类冲突

    我使用两个 django 包 django mptt 用于实现修改的预序树遍历的实用程序 和 django hvad 模型翻译 我有一个模特班MenuItem我希望它扩展 TranslatableModel 和 MPTTModel 如下所示