SqlAlchemy 的外键问题

2023-12-28

我收到错误

无法从字符串“MACHINE_IE”解析 rfc1738 URL

当我尝试导入以下内容时

class MACHINE(declarative_base()):
    __tablename__ = 'MACHINE'
    MACHINE_UID = Column(Integer, primary_key=True)
    MACHINE_IP = Column(String)
    MACHINE_NAME = Column(String)
    MACHINE_INFO = Column(String)

class IE(declarative_base()):
    __tablename__ = 'IE'
    IE_UID = Column(Integer, primary_key=True)
    IE_VERSION = Column(String)
    IE_MAJOR = Column(String)

class MACHINE_IE(declarative_base().metadata):
    __tablename__ = 'MACHINE_IE'
    IE_UID = Column(Integer, ForeignKey("IE.IE_UID"), primary_key=True)
    MACHINE_UID = Column(Integer, ForeignKey("MACHINE.MACHINE_UID"))
    EFFECTIVE_DATE = Column(DateTime)

如果我删除

metadata

然后我可以导入模块并对“MACHINE”和“IE”表执行查询并显示行中的数据。但是,当我查询“MACHINE_IE”,然后尝试显示查询中的一些数据时,我得到以下信息

sqlalchemy.exc.NoReferencedTableError:与列“MACHINE_IE.IE_UID”关联的外键找不到用于生成目标列“IE_UID”外键的表“IE”

我猜我需要其中的“元数据”,但当我使用它时,错误似乎是在抱怨数据库连接字符串。但是,如果删除“元数据”,我可以连接到数据库而不会出现问题。

这是连接数据

connect_string = "oracle+cx_oracle://{0}:{1}@{2}:{3}/{4}".format(user, pw, server, port, sid)

如有任何帮助,我们将不胜感激。


您正在使用多个实例Base。你应该这样做:

Base = declarative_base()

class MACHINE(Base):
    ...

class IE(Base):
    ...

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

SqlAlchemy 的外键问题 的相关文章

随机推荐

  • 在Github上,将PR合并到不同的分支

    假设有人在 Github 上向 public master 提交了一个 PR 有没有办法将该 PR 合并到不同的分支中 否则 看起来我必须合并到 public master 中 然后将其向后合并到开发 登台分支中 这就像让人们做一个修补程序
  • 线程并获取连接电话的 COM 端口

    我有以下代码 using System using System Collections Generic using System ComponentModel using System Data using System Drawing
  • 如何使用python绘制彩色扇形?

    我需要可视化传感器的视场 因此 我需要使用 python matplotlib 绘制一个扇区 并用颜色 alpha Use a 楔形艺术家 http matplotlib org api artist api html matplotlib
  • 将大型 CSV 从 Cloud Storage 导入 App Engine 数据存储区

    我有一个大的 CSV 文件 大约 1 GB 大 并且想要在数据存储中创建实体 每行一个实体 该 CSV 文件当前驻留在 Google Cloud Storage 中 有没有一种干净的方法来做到这一点 我可以在网上找到的所有示例似乎都依赖于本
  • DataTriggerBehavior 不适用于 Enum?

    我正在尝试使用DataTriggerBehavior来自行为 SDK 但它似乎不适用于枚举 否则我做错了什么 您可以假设DataContext对于这些例子来说是这样的 INotifyPropertyChanged已实现 但我不打算在这里展示
  • 即使服务帐户具有“所有者”权限,也会引发权限不足的错误

    In 谷歌云平台我创建了一个服务账户并分配了OWNER and 服务帐户参与者 role 当我运行下面的命令时 gcloud container clusters get credentials travis test zone us ce
  • 我有一些关于 WebView 的问题

    我无法正确使用WebView 当我运行我的应用程序时 出现 使用什么 窗口和按钮 浏览器 Chrome 排序 单击 取消 时没有任何反应 我的代码没有错误 我真的不知道如何正确使用WebView 请帮我 使用什么 窗口 https i st
  • Redis 流水线执行顺序

    我正在使用 rub redis gem 想知道我是否这样做 例如 redis pipelined do REDIS del users current user id i unread REDIS lpush users current u
  • 如何附加到切片指针接收器

    我有一个切片的类型别名 当切片是指针接收器时 我希望能够附加到切片 或切片中的过滤器 package main import fmt type itself string func h itself appendToItself test
  • 需要同意才能将文件的所有权转让给其他用户 [Google Drive API]

    我有一个与 1 个用户 所有者 Gmail 帐户 和第二个用户 作者 Google 服务帐户 如 iam gserviceaccount com 共享的 Google 表格文件 我使用此函数由用户 2 从用户 1 复制表 并再次使复制文件的
  • 管理 JavaScript 应用程序的时区和 DST 问题

    我正在尝试创建一个调度应用程序 前端 UI是使用JavaScript开发的 后端是一个 ASP NET Web Api 应用程序 使用 MSSQL 服务器作为数据库 从 UI 中 用户将安排一个可以每天 每周 每月运行的作业 每个作业最多可
  • 使用 Nokogiri(而不是 Tidy)清理 HTML

    The tidygem 不再维护 并且存在多个内存泄漏问题 有些人建议使用Nokogiri 我目前正在使用以下方法清理 HTML Nokogiri HTML DocumentFragment parse html to html 不过我有两
  • 从 Eclipse 运行时,Java JFrame 窗口不出现

    一个非常简单的问题 我尝试运行一个非常简单的演示来从 Eclipse 创建并显示一个窗口框架 但没有任何反应 没有错误 没有窗口 代码运行完成 我添加了断点并确保代码按预期运行 该代码直接来自 Java 教程 FrameDemo 我只是重命
  • 删除 WWW 的表单。并在输入上打印结果?

    我需要制作一个类似于 缩短链接 网站使用的表格 它应该简单地删除 WWW 并回显结果 以便我稍后在其周围添加我的代码 例如 如果用户输入 www pizza com blablabla 单击输入应显示 pizza com blablabla
  • 创建一个简单但灵活的模板引擎

    我正在尝试构建一个基本的模板引擎 就像已经作为开源提供的模板引擎一样 我正在使用搜索和替换技术 然而 由于搜索和替换必须进行硬编码 因此不太灵活 我的意思是 作为一个例子 我正在使用这样的东西 templateMarkup div clas
  • 无法使 Oauth PHP 扩展正常工作

    当我尝试使用 PHP 进行 oAuth 之旅时 我感到很抓狂 我正在使用 MAC OSX 10 7 4 MAMP PHP 并且我指向 MAMP 环境中的 php 我已经下载了最新的 oAuth php 扩展 1 2 2 我跑过 pecl i
  • IN r,如何将摘要结合在一起

    假设我有 5 组数据的 5 个摘要 我怎样才能得到这些数字或将摘要合并为 1 而不是 5 V1 V2 V3 V4 Min 670 2 Min 682 3 Min 690 7 Min 637 6 1st Qu 739 9 1st Qu 737
  • 解压后无法删除压缩文件

    我试图在 Windows 上解压内容后删除压缩文件 内容可以存储在 zip 中的文件夹结构中 我正在使用with声明并认为这会关闭类似文件的对象 sourcevar 和 zip 文件 我删除了与保存源文件相关的代码行 import zipf
  • AVX2 的 gcc 目标禁用 SSE 指令集

    我们有一个要使用 AVX2 编译的翻译单元 仅此一个 它预先告诉 GCC 文件中的第一行 pragma GCC target arch core avx2 tune core avx2 这曾经适用于 GCC 4 8 和 4 9 但从 6 开
  • SqlAlchemy 的外键问题

    我收到错误 无法从字符串 MACHINE IE 解析 rfc1738 URL 当我尝试导入以下内容时 class MACHINE declarative base tablename MACHINE MACHINE UID Column I