AttributeError:既没有与关联的“InstrumentedAttribute”对象也没有“Comparator”对象

2024-02-01

我有一个表定义为

class Results(db.Model):
    __tablename__ = 'results'
    event_id = db.Column(db.Integer, db.ForeignKey(Events.id), primary_key=True)
    event = db.relationship('Events', foreign_keys='Results.event_id')
    team_id = db.Column(db.Integer, db.ForeignKey(Teams.id), primary_key=True)
    team = db.relationship('Teams', foreign_keys='Results.team_id')
    position = db.Column(db.Integer, default=0)
    rr_position = db.Column(db.Integer, default=0)
    score = db.Column(db.Float, default=0)

and

class Teams(db.Model):
    __tablename__ = 'teams'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), nullable=False)
    country = db.Column(db.String(64), nullable=False)

当我运行以下命令时

r = Results.query.all()
print(len(r))

我得到 138 行。

If I run

r =  db.session.query(Teams.name
    , Results.team_id
    , Results.event_id).all()
print(len(r))

or

r = Results.query.add_column(Teams.name).all()
print(len(r))

然后我得到 6072 行。通过此查询,我预计有 138 行,每行一个团队名称。

但如果我尝试

r ==  db.session.query(Results.team.name
    , Results.team_id
    , Results.event_id).all()

我收到以下错误

AttributeError:与 Results.team 关​​联的“InstrumentedAttribute”对象和“Comparator”对象都没有属性“name”


您是否尝试在执行查询时显式指定联接?

例如:

db.session.query(Results.team_id, Results.event_id, Team.name).join(Team).all()

我假设在返回 > 6000 个条目的情况下,您将获得笛卡尔结果。

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

AttributeError:既没有与关联的“InstrumentedAttribute”对象也没有“Comparator”对象 的相关文章

  • sqlalchemy 插入或更新的简单方法?

    我有一系列新对象 它们看起来都类似于 Foo pk col1 x pk col2 y val bar 其中一些是存在的 Foo 即只有 val 与数据库中的行不同 并且应该生成更新查询 其他人应该生成插入 我可以想到几种方法来做到这一点 最
  • Python代码执行时自动打开浏览器

    我正在 Python Flask 中实现 GUI Flask 的设计方式是 必须 手动 打开本地主机以及端口号 有没有一种方法可以使其自动化 以便在运行代码时自动打开浏览器 本地主机 我尝试使用 webbrowser 包 但它在会话终止后打
  • Microsoft Azure 数据仓库和 SqlAlchemy

    我正在尝试使用 python 的 sqlalchemy 库连接到 microsoft azure 数据仓库 并收到以下错误 pyodbc Error HY000 HY000 Microsoft ODBC SQL Server Driver
  • Python Flask应用程序无法被网络中的远程计算机访问

    我在本地主机上的 python 上运行了一个简单的 Flask Web 应用程序 Web 应用程序在 127 0 0 1 8000 上运行 但我无法使用 myHostComputerIPaddress 8000 从网络中的远程计算机访问它
  • Pandas 根据名称列创建外国 ID 列

    我有一个像这样的简单数据框 df pd DataFrame Name John Doe Jane Smith John Doe Jane Smith Jack Dawson John Doe df Name 0 John Doe 1 Jan
  • sqlalchemy 中的随机 ID(pylon)

    我正在使用 pylons 和 sqlalchemy 我想知道如何将一些随机 id 作为primary key 最好的方法是使用随机生成的 UUID import uuid id uuid uuid4 uuid 数据类型在某些数据库中本机可用
  • pytest 看不到正在测试的函数的日志

    我有一个像这样的烧瓶应用程序 from flask import Flask import logging app Flask name app route def catch all logging warning I m a warni
  • 使用gunicorn和环境变量运行flask应用程序

    对于本地开发 我只需设置包含必要变量的 env 文件 然后运行应用程序 Flask run 一切看起来都很好 所有环境变量都在应用程序中正确读取和设置 但是 当我使用 Gunicorn 运行应用程序时 gunicorn api app bi
  • 字段“id”期望一个数字,但得到“natsu”django

    我想创建一个 user posts 视图 其中包含与特定用户相关的所有帖子 假设有用户 Natsu 撰写的博客帖子 那么登录用户 Testuser 将能够查看所有帖子由该用户发布 即用户 Natsu 的所有帖子 blog models py
  • 如何在使用 Flask for Python 3 的同时使用 Bootstrap 4?

    我检查过 发现默认安装时 Flask Bootstrap 原生使用 Bootstrap 3 3 7 但实际上我想通过使用 Flask Bootstrap 包在我的项目中使用 Bootstrap 4 任何有关如何更新它或类似内容的帮助将不胜感
  • Sqlalchemy 一对多关系加入?

    我正在尝试做一个像这样的简单连接查询 SELECT food id food food name food categories food categories FROM food JOIN food categories ON food
  • 迭代 sqlalchemy 模型定义的列的方法?

    我一直在尝试找出如何迭代 SQLAlchemy 模型中定义的列列表 我想要它为几个模型编写一些序列化和复制方法 我不能只是迭代obj dict 因为它包含很多 SA 特定的项目 任何人都知道一种方法来获取id and desc来自以下的名字
  • wtforms 自定义验证器可以使字段可选吗?

    如果选中复选框 我正在使用自定义验证器来检查字段不为空 它检查正确 但无论如何它总是仍然验证该值是否是数字 基本上我需要一个字段来在表单的某些条件下停止验证 有没有办法让自定义验证器停止现场验证 是的 自定义验证器可以像内置的可选和必需验证
  • 1:1 关系中的双向外键约束

    我正在使用 MySQL 数据库 在我的关系数据模型中 我有两个相互 1 1 关联的实体 在我的架构中 通过将 FK 字段放入两个表之一中来建立 1 1 关系 该字段与另一个表的 PK 相关 两个表都有 PK 并且都是自动递增的 BIGINT
  • Python int 太大,无法放入 SQLite

    我收到错误 OverflowError Python int 太大 无法转换为 SQLite INTEGER 来自以下代码块 该文件约25GB 因此必须分部分读取 length 6128765 Works on partitions of
  • Flask.cli.NoAppException:无法导入“flaskr.flaskr”

    我正在处理 http flask pocoo org docs 1 0 tutorial http flask pocoo org docs 1 0 tutorial 我写过 init py 这里的代码 http codepad org 4
  • Flask 应用程序在处理请求时挂起

    我有一个简单的 Flask 应用程序 单页 上传 html 然后在 POST 上对其进行一些处理 在 POST 请求时 我正在使用 beautifulsoup pandas 通常需要 5 10 秒才能完成任务 最后 我使用 pandas 将
  • Django外键:获取相关模型?

    是否可以通过外键字段本身获取外键的相关模型 例如 如果我有 3 个模型 class ModelA models Model field1 models CharField max length 10 class ModelB models
  • FileAllowed 不显示错误消息

    我正在使用 WTForms 我正在对文件上传应用验证 并将其限制为仅 jpg png 和 pdf 格式 但是 如果我输入不正确 则不会出现错误消息 我按照这个教程https flask wtf readthedocs io en stabl
  • 每次 apache 重新启动时,flask-login 会话都会被破坏

    我正在使用烧瓶登录https github com maxcountryman flask login https github com maxcountryman flask login和领域记住登录用户 http packages py

随机推荐