创建 backref 时 SQLAlchemy 关系引发参数错误

2024-03-04

我正在尝试建立一对多的关系,以便每个咖啡馆都可以有很多评论。然而,SQLAlchemy 提出了一个ArgumentError定义关系时。我该如何修复这个错误?

class Review(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    cafe = db.Column(db.String, db.ForeignKey('cafe.name'))

class Cafe(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String)
    reviews = db.relationship(Review, backref='cafe')
sqlalchemy.exc.ArgumentError: Error creating backref 'cafe' on relationship 'Cafe.cafes': property of that name exists on mapper 'Mapper|Review|review'

当 SQLAlchemy 尝试创建 backref 时Cafe.cafes关系称为cafe on Review,它会找到您命名的列cafe并引发不能使用相同名称的错误。

为您的外键指定与关系/反向引用不同的名称。

cafe_name = db.Column(db.ForeignKey(Cafe.name))

或者,当外键和关系在同一模型中定义时,可以更容易地跟踪名称。

class Cafe(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String)

class Review(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    cafe_id = db.Column(db.ForeignKey(Cafe.id))
    cafe = db.relationship(Cafe, backref='reviews')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建 backref 时 SQLAlchemy 关系引发参数错误 的相关文章

  • scipy 将一个稀疏矩阵的所有行附加到另一个稀疏矩阵

    我有一个 numpy 矩阵 想在其中附加另一个矩阵 这两个矩阵的形状为 m1 shape 2777 5902 m2 shape 695 5902 我想将 m2 附加到 m1 以便新矩阵的形状为 m new shape 3472 5902 当
  • 递归 lambda 表达式可能吗?

    我正在尝试编写一个调用自身的 lambda 表达式 但我似乎找不到任何语法 或者即使它是可能的 本质上我想将以下函数传输到以下 lambda 表达式中 我意识到这是一个愚蠢的应用程序 它只是添加 但我正在探索可以在 python 中使用 l
  • 如何以“正确”的方式处理带有空字节的 Python unicode 字符串?

    Question PyWin32 似乎很乐意将 null 终止的 unicode 字符串作为返回值 我想以 正确 的方式处理这些字符串 假设我得到一个像这样的字符串 u C Users Guest MyFile asy x00 x00sy
  • 检查 Python 中的可迭代对象中的所有元素的谓词是否计算为 true

    我很确定有一个常见的习语 但我无法通过谷歌搜索找到它 这是我想做的 用Java Applies the predicate to all elements of the iterable and returns true if all ev
  • sklearn 中的 pca.inverse_transform

    将我的数据拟合后 X 我的数据 pca PCA n components 1 pca fit X X pca pca fit transform X 现在 X pca 具有一维 当我根据定义执行逆变换时 它不是应该返回原始数据 即 X 二维
  • 如果未引发异常,则通过 Python 单元测试

    在Python中unittest框架 是否有一种方法可以在未引发异常的情况下通过单元测试 否则会因 AssertRaise 而失败 如果我正确理解你的问题 你could做这样的事情 def test does not raise on va
  • Pandas:如果单元格包含特定文本则删除行

    pandas 中的这段代码不起作用 如果该列包含提供的任何文本 数字 我希望它删除该行 目前 我只能在单元格与我的代码中传递的确切文本匹配时才能使其工作 因为它只删除显示 Fin 的单元格不是金融或金融 df2 df df Team Fin
  • 没有名为 StringIO 的模块

    我有Python 3 6 我想从另一个名为 run py 的 python 文件执行名为 operation py 的 python 文件 In operation py I do from cStringIO import StringI
  • Django 的 request.FILES 出现 UnicodeDecodeError

    我在视图调用中有以下代码 def view request body u for filename f in request FILES items body body Filename filename n f read n 在某些情况下
  • 如何在 pandas 中使用 read_fwf 跳过空行?

    I use pandas read fwf http pandas pydata org pandas docs stable generated pandas read fwf htmlPython pandas 0 19 2 中的函数读
  • Jython 和 SAX 解析器:允许的实体不超过 64000 个?

    我做了一个简单的测试xml saxJython 中的解析器在处理大型 XML 文件 800 MB 时遇到以下错误 Traceback most recent call last File src project xmltools py li
  • Anaconda 无法导入 ssl 但 Python 可以

    Anaconda 3 Jupyter笔记本无法导入ssl 但使用Atom终端导入ssl没有问题 我尝试在 Jupyter 笔记本中导入 ssl 但出现以下错误 C ProgramData Anaconda3 lib ssl py in
  • 在系统托盘中隐藏 tkinter 窗口 [重复]

    这个问题在这里已经有答案了 我正在制作一个程序来提醒我朋友的生日 这样我就不会忘记祝福他们 为此 我制作了两个 tkinter 窗口 1 First one is for entering name and birth date 2 Sec
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • 动态过滤 pandas 数据框

    我正在尝试使用三列的阈值来过滤 pandas 数据框 import pandas as pd df pd DataFrame A 6 2 10 5 3 B 2 5 3 2 6 C 5 2 1 8 2 df df loc df A gt 0
  • Python SSL X509:KEY_VALUES_MISMATCH

    Python HTTPS server from http server import HTTPServer SimpleHTTPRequestHandler import ssl https stackoverflow com a 408
  • TKinter 中的禁用/启用按钮

    我正在尝试制作一个像开关一样的按钮 所以如果我单击禁用按钮 它将禁用 按钮 有效 如果我再次按下它 它将再次启用它 我尝试了 if else 之类的东西 但没有成功 这是一个例子 from tkinter import fenster Tk
  • 多个对象以某种方式相互干扰[原始版本]

    我有一个神经网络 NN 当应用于单个数据集时 它可以完美地工作 但是 如果我想在一组数据上运行神经网络 然后创建一个新的神经网络实例以在不同的数据集 甚至再次同一组数据 上运行 那么新实例将产生完全错误的预测 例如 对 XOR 模式进行训练
  • 查找总和为给定数字的值组合的函数

    这个帖子查找提供的 Sum 值的组合 https stackoverflow com a 20194023 1561176呈现函数subsets with sum 它在数组中查找总和等于给定值的值的组合 但由于这个帖子已经有6年多了 我发这
  • Apache Beam Pipeline 写表后查询表

    我有一个 Apache Beam Dataflow 管道 它将结果写入 BigQuery 表 然后我想查询该表以获取管道的单独部分 但是 我似乎无法弄清楚如何正确设置此管道依赖性 我编写的新表 然后想要查询 与一个单独的表连接以进行某些过滤

随机推荐

  • 是否有可能在整个层次结构中没有事件链的情况下,从 vue.js 中任意嵌套的子组件中改变属性?

    在多处提到 改变属性是一种反模式vue js 它警告用户不要这样做 即使在改变对象属性或使用诸如this set将元素添加到作为属性给出的对象 鉴于此 让组件负责修改给定的某些数据的正确方法应该是什么 这vue js建议的模式似乎正在发出事
  • ASP.NET 就地预编译未按预期工作

    我正在尝试使用 ASP NET 预编译工具 aspnet compiler exe 在部署网站后对其进行编译 根据书籍定义 在网络计算机上运行就地预编译应该可以改善首页加载体验 编译工具编译每个 ASP NET 页面 将编译后的版本存储在
  • 设置值 XmlConfig

    您好 我正在尝试使用以下命令更改配置文件中的值设置
  • 有没有使用 AngularJS 的开源 Web 应用程序? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想在我的下一个 WebApp 项目中使用 AngularJS 在开始之前 有两个问题想问 AngularJS 适合移动 Web 应用程序
  • Amazon EC2 容量和工作流程问题

    我希望你们中一些有使用亚马逊 EC2 经验的人能够提供一些建议 当然这将是主观的 这很好 我很确定你们的猜测会比我的更好 我计划将我客户的所有网站从共享托管环境迁移到 Amazon EC2 它们都是流量相当低的网站 最繁忙的网站每天接待大约
  • 链接到参数为Vue.js的路由

    我使用 Vue js 和 Laravel 渲染一个列出产品的简单表格 从那里我想链接到产品详细信息页面 如下所示 a href gt product id a 由于该表是基于数据对象在客户端生成的 因此我正在寻找最优雅的方法来实现它 同时不
  • 组织 JavaScript 代码

    我正在制作一个 JavaScript 应用程序 通常我所做的是制作不同的模块并获取用户输入或单击事件 document ready 功能 这对于小型应用程序来说效果很好 但是当我遵循相同的模式时 我的意思是获取点击事件 document r
  • jQuery UI datepicker:如何将下拉列表中的月份名称从短名称更改为长名称?

    我需要将月份名称从短名称更改为长名称在我的 jQuery UI 日期选择器中 我的属性是 datepicker regional de prevText x3c zur uuml ck nextText vor x3e monthNames
  • 在 Android Studio 中检查元素

    我们如何检查 android studio 中的元素 日食的对应物是Ctrl Shift I 选择变量或表达式后 按Ctrl Shift I 在网上找不到这个 请帮忙 In Mac OSX you can use command optio
  • 我可以使用常量名称的变量来访问 PHP 类常量吗? [复制]

    这个问题在这里已经有答案了 当访问类常量时 我 发现可以使用变量作为类名 例如 classname CONST VALUE 如果我想使用变量作为常量名称怎么办 例如self constant 这似乎不起作用 有解决方法吗 variable
  • Google OAuth 2.0 增量授权不起作用

    我有一个服务器端应用程序 需要访问 Google API 的组合 对于我们应用程序的某些用户 我们只需要访问一个 API 一组范围 例如 Google Drive 对于其他用户来说 需要访问另一个 API 范围 例如G 对于某些我们需要访问
  • 将 json 字符串反序列化为对象 - Silverlight

    今天下午我花了很长时间尝试在字符串中实现 JSON 的反序列化 一开始我使用的是数据契约Json序列化器因为我的环境是 Silverlight 但它似乎不支持使用开箱即用的字典 在许多其他问题中提出 作为替代方案 我决定暂时使用 JSON
  • openpyxl python 中自定义系列标题

    我正在尝试修改现有的 xlsx 表并使用 python 中的 openpyxl 模块向其中添加图形 但是在创建折线图时 系列标题显示为系列 1 系列 2 系列 3 系列 4 因为我需要将系列标题重命名为 A B C D 注意 该名称不是从任
  • ListView findViewById 返回 null

    我没有使用 ListActivity 因为我想扩展 FragmentActivity 相反 我尝试使用 ListView lv ListView findViewById R id mainListView 不幸的是 lv 为空 在我的 x
  • 如果是 JPG 图像,QLabel() 将不会加载像素图

    我想有一个QLabel 显示一个pixmap文件中的 JPG 图像 不能位于资源文件中 因为它是从网络下载的 但我在加载它时遇到问题 代码相当简单 label QLabel label setPixmap QPixmap image jpg
  • Promise 链与 Promise.all

    我的任务是使用量角器输入通知日期 我需要在输入之前清除内容 所以我想出了这个代码 this Then I should enter Notification Date gt const d new Date return orderChec
  • 如何更新 Visual Studio 的“用于验证的级联样式表版本”

    在我的 Visual Studio 2010 中 用于验证的级联样式表版本 针对的是 CSS 版本 2 1 如何更新 VS 以定位 CSS 版本 3 我刚刚下载并安装了 Mojtaba kaviani 的 CSS 3 智能感知架构 http
  • Opencv 矩阵乘法

    我需要将矩阵及其转置相乘 但出现以下错误 OpenCV Error Assertion failed type B type type CV 32FC1 type CV 64FC1 type CV 32FC2 type CV 64FC2 i
  • Flutter:任务“:app:compileDebugKotlin”执行失败

    我尝试运行默认的颤动应用程序颤动创建在我的 Android 设备上 但它引发了一个错误 有人可以帮忙吗 在调试模式下在 SM G610F 上启动 lib main dart 运行 Gradle 任务 assembleDebug 失败 构建失
  • 创建 backref 时 SQLAlchemy 关系引发参数错误

    我正在尝试建立一对多的关系 以便每个咖啡馆都可以有很多评论 然而 SQLAlchemy 提出了一个ArgumentError定义关系时 我该如何修复这个错误 class Review db Model id db Column db Int