python - 在我的模型定义中创建一个数组列

标签 python postgresql sqlalchemy pyramid

我想在我的 SQLAlchemy Pyramid 应用程序中创建一个表来存储多维值数组。我正在使用 PostgreSQL,我知道它有一个数组类型。我只是不太确定如何在我的 models.py 中定义表格。也许是这样的:

class MyTable:
    __tablename__ = 'mytable'
    id = Column(Integer, primary_key=True)
    text_array = Column([Unicode])

    def __init__(self, text_array):
        self.text_array = text_array

最佳答案

根据to the SQLAlchemy docs ,您使用方言特定的 ARRAY 类型。修改您的示例会导致:

from sqlalchemy.dialects.postgresql import ARRAY

class MyTable:
    __tablename__ = 'mytable'

    id = Column(Integer, primary_key=True)
    text_array = Column(ARRAY(Unicode))

    def __init__(self, text_array):
        self.text_array = text_array

请参阅多维数组的文档(只需将“维度”关键字参数添加到 ARRAY 构造函数)。

关于python - 在我的模型定义中创建一个数组列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19432611/

相关文章:

python - 如何提取具有非零列值的行?

ruby-on-rails - 在 Rails 和 PostgreSQL 中用于 Facebook 用户 ID 的数据类型

python - 将复杂的 SQL 查询转换为 SQLAlchemy

python - Flask-SQLAlchemy backref 函数和 backref 参数

postgresql - 通过方解石在 postgres 中创建物化 View

python - SQLAlchemy 中的物化键

python - 当我的玩家在 pygame 中发生碰撞时,如何让他们穿过敌人?

python - 在总和有限的情况下以最快的速度优化面积差

python - 如何找到给定库函数在 Python 中抛出的所有异常的列表?

postgresql - 如何检查 PostgreSQL 事务中的挂起操作