在我的模型定义中创建数组列

时间:2013-10-17 16:46:14

标签: 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

1 个答案:

答案 0 :(得分:3)

根据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

查看多维数组的文档(只需将“dimensions”关键字参数添加到ARRAY构造函数中)。