python - 在eve-sqlalchemy中查询一个joined数据

标签 python mysql flask-sqlalchemy eve

我正在使用-

  • eve-sqlalchemy 0.5
  • SQL炼金术1.2.1
  • PyMySQL 0.8.0

我的域定义如下所示:

class CommonColumns(Base):
    __abstract__ = True
    _created = Column(DateTime, default=func.now())
    _updated = Column(DateTime, default=func.now(), onupdate=func.now())
    _etag = Column(String(40))


class Host(CommonColumns):
    __tablename__ = 'host'
    cpa_id = Column(String(30), primary_key=True)
    host = Column(String(45))
    port = Column(Integer)
    instance = Column(String(20))
    status = Column(String(10))
    partnerships = relationship("Partnership", back_populates='host')


class Partnership(CommonColumns):
    __tablename__ = 'partnership'
    id = Column(Integer, primary_key=True, autoincrement=True)
    cpa_id = Column(String(30), ForeignKey('host.cpa_id'))
    service = Column(String(40))
    action = Column(String(50))
    status = Column(String(10))
    host = relationship("Host", back_populates='partnerships')

在启动 eve 并在数据库中填充数据之后。我能够查询主机和合作伙伴关系。他们还在响应中返回主机或合作伙伴 ID。

对属于资源伙伴关系的项目之一的示例响应:

{
    "host": "0020",
    "id": 1,
    "service": "service1",
    "action": "action1",
    "status": "active",
    "_updated": "Tue, 30 Jan 2018 23:52:32 GMT",
    "_created": "Tue, 30 Jan 2018 23:52:32 GMT",
    "_etag": "e09fd6eb612f722ad26bf0b7f528f42d2f585d04",
    "_links": {
        "parent": {
            "title": "home",
            "href": "/"
        },
        "self": {
            "title": "Partnership",
            "href": "partnerships/1"
        },
        "collection": {
            "title": "partnerships",
            "href": "partnerships"
        }
    }
}

如何让它包含主机资源中的其他字段?这在通常情况下需要一个连接查询,但我想知道它是否在前夕以某种方式处理。

最佳答案

您应该能够使用嵌入 参数:https://github.com/pyeve/eve-sqlalchemy/blob/master/docs/tutorial.rst#embedded-resources

使用 &embedded={"host":1} 它应该包括整个主机资源。

我不确定这是否适用于您当前的环境/版本。

关于python - 在eve-sqlalchemy中查询一个joined数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48532969/

相关文章:

php - 产品变体的数据库结构

python - Flask-SQLAlchemy : Manipulate attribute of a data upon fetching

Python asyncio 有两个任务,只有一个正在运行

php - 显示偶数和奇数 SQL 结果 (PHP)

python - 在 python 中绘制,在键盘点击时更新

php - 获取mysql中过去30天的列总和

python - 如何使用 HTML 表单更新我的购物车和产品 ID?

python - sqlalchemy 中的点类型?

python - 读取具有多个键的文本文件

python - 我将如何查询使用 sqlalchemy 从邻接列表中检索所有对象?