继承时字段冲突

2024-05-01

我有以下简化的模型结构:

#common/models.py
class CLDate(models.Model):
    active = models.BooleanField(default=True)
    last_modified = models.DateTimeField(auto_now=True)
    created = models.DateTimeField(auto_now_add=True)

#br/models.py
class Dokument(CLDate):
    user = models.ForeignKey(User)

class Entity(CLDate):
    dokument = models.ForeignKey(Dokument)

。这两个类都继承自 CLDate,并且它们之间有 OneToMany 关系。当我尝试迁移时,出现以下错误:

python manage.py makemigrations
SystemCheckError: System check identified some issues:

ERRORS:
br.Entity.dokument: (models.E006) The field 'dokument' clashes with the 
field 'dokument' from model 'common.cldate'.

我真的不明白为什么这个结构对 Django 来说是一个问题,因此实体是一个与文档完全不同的对象。谁能解释一下为什么,我该如何用这个结构解决它?因此,两者都应该继承自 CLDate,并且来自 br 应用程序的两个模型之间应该存在这种关系。

我也尝试删除所有迁移文件,并这样解决,但还是一样。 Runserver 也给出了这个错误。

姜戈:1.11.2 蟒蛇:3.4.2 德班:8.8

.

Thanks.


如果我在实体模型中重命名文档属性名称,它就可以正常工作。

我也几乎与以前(在以前的 Django 版本中)工作的布局几乎相同。


由于您使用的是多表继承,Django 会创建一个隐式的一对一字段Dokument to CLDate。反向关系dokument from CLDate to Dokument与你发生冲突Entity.dokument field.

如果您不想重命名您的Entity.dokument字段,那么您的另一个选择是显式定义父链接字段 https://docs.djangoproject.com/en/1.11/topics/db/models/#specifying-the-parent-link-field from Dokument to CLDate并设置related_name.

class Dokument(CLDate):
    cl_date = models.OneToOneField(CLDate, parent_link=True, related_name='related_dokument')
    user = models.ForeignKey(User)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

继承时字段冲突 的相关文章

随机推荐

  • 从类详细信息 Visual Studio 导出

    我发现在 Visual Studio 中我们可以通过创建类图 添加类和打开类详细信息轻松地将摘要添加到代码中 现在我想知道是否可以将其导出到 Excel 文件中 检查 MD对此答案的评论https stackoverflow com a 3
  • 带汇总总计和小计

    我有一个脚本可以生成几乎已经存在的结果集 我正在尝试获取小计和总计 我在年份栏中得到了小计 在最后得到了总计 我的目标是让最终结果显示 总计 而不是小计 请注意 由于汇总函数 我的最后一行 位置 也返回为空 SELECT YEAR COUN
  • 从特定的 setup.py 进行 pip 安装

    我在 RedHat 的 Openshift 云服务上创建了一个 python 3 3 应用程序 默认情况下 它有我的项目的 setup py 我正在学习名为 使用 Flask 构建 SaaS 应用程序 的 Udemy 课程 源代码 http
  • 如何将数据动态分配给jqGrid?

    这是我创建 jqGrid 的代码 ptDataGrid jqGrid datatype local data arrSpecData colModel colmod rowNum 10 rowList 10 pager ptPager gr
  • 如何在 XAML 中定义变量?

    我在 XAML 中有以下两个按钮
  • svn 1.7 错误 E200009 无法添加所有目标,因为某些目标已经版本化

    我对存储库进行了彻底的检查 然后每天我都有一个 hudson 工作来运行脚本来备份配置 脚本的一部分是添加 xml svn add xml svn warning W150002 data hudson config xml is alre
  • difflib python 格式化

    我使用此代码来查找两个 csv 列表之间的差异并提出一些格式问题 这可能是一个简单的解决方法 但我是新手 正在尝试学习 但遇到了很多问题 import difflib diff difflib ndiff open test1 csv rb
  • 检测碰撞方向

    一块方形瓷砖与另一块方形瓷砖碰撞 调酒师说 I have 两个图块的高度 宽度 x 和 y 引起碰撞的运动的 2D 矢量 我需要知道碰撞发生在哪一侧 例如顶部 底部 左侧 右侧 以便适当地重置位置 我会给任何能回答这个问题的人一个心理饼干
  • 用于阻止大于 20MB 的提交的预提交挂钩

    是否可以为 SVN 1 8 编写 prcommit 挂钩以避免提交大于 20MB 的文件 任何建议 将不胜感激 谢谢 我尝试过 但这不适用于二进制文件或其他文件扩展名 filesize SVNLOOK cat t TXN REPOS f w
  • Pyspark 将多个列合并为一个 json 列

    我不久前问过 python 的问题 但现在我需要在 PySpark 中做同样的事情 我有一个像这样的数据框 df cust id address store id email sales channel category 1234567 1
  • iReport 中的新页面

    这是我的情况 我有一份详细区域包含 10 个 或更多 项目的报告 我有一个大文本字段 我想跨越多个页面 此文本与项目无关 我无法创建另一个页面 因为我的所有项目都非常适合第一页 如何在页脚上创建 强制 仅包含一些可变 静态 文本的新页面 换
  • 使用 Keras、Tensorflow 进行多时间序列维度的 RNN 时间序列预测

    我正在尝试在某些时间序列集上运行 RNN LSTM 网络 值得一提的是 时间序列正在分类 我有大约 600 个不同的时间序列 每个序列都有 930 个带有特征的时间步长 我已将数据结构化为 numpy 3D 数组 其结构如下 X 666 o
  • 这是使用 husky + lint-staged 的​​正确方法吗?

    我发现很多博客 包括 lint staged 文档 介绍了这样一种使用 husky lint staged 的 方法 如 package json 中定义的以下代码 scripts precommit lint staged lint st
  • 获取 ASP.NET 网站的 IIS 站点名称

    在我的 ASP NET Web 应用程序中 我想查找在 IIS 中创建它时指定的名称 该名称对于服务器来说是唯一的 我对网站的域名不感兴趣 而是对 IIS 中为该网站指定的实际名称感兴趣 我需要能够在 IIS6 和 7 上可靠地完成此操作
  • 如何将操作和处理程序添加到“处理货件”屏幕?

    如何将操作和处理程序添加到 处理货件 屏幕 我们想要向屏幕 SO503000 上的 操作 组合框添加一个操作 然后在代码中添加一个处理程序来处理新操作 我们希望在不必覆盖 SOShipmentEntry 图中 Action 的巨大 swit
  • Functools.update_wrapper() 无法正常工作

    I use Functools update wrapper 在我的装饰器中 但看起来像update wrapper仅重写函数属性 例如 doc name 但不影响help 功能 我知道这些答案 https stackoverflow co
  • Jasmine 2.0 rc* 等待未定义

    刚刚升级到茉莉花2 0 rc5 from 1 3现在我所有的测试都使用了waits 被打破了 因为waits and waitsFor 函数未定义 我似乎在网上找不到任何参考 有人知道替换 wait 的新 API 是什么吗 好吧 异步调用的
  • 语音识别中如何处理同音词?

    对于那些不熟悉什么是同音字 https en wikipedia org wiki Homophone是的 我提供以下示例 我们的 是 嗨和高 到 太 二 在使用时语音API https developer apple com docume
  • 如何编写写入 /var/log/myapp 目录的 C/C++ 应用程序?

    背景 在 Linux 系统上 应用程序日志 https help ubuntu com community LinuxLogFiles Application Logs存在于子目录中 var log 其所有者为root root并且在我的系
  • 继承时字段冲突

    我有以下简化的模型结构 common models py class CLDate models Model active models BooleanField default True last modified models Date