Код: Выделить всё
((1,2), (3,4), (5,6,7))
Однако я не могу выясните, как сказать SQLA предоставить мне двумерный целочисленный массив. В документации к sqlalchemy.dialects.postgresql.ARRAY указано:
item_type — тип данных элементов этого массива. Обратите внимание, что
размерность здесь не имеет значения, поэтому многомерные массивы, такие как
INTEGER[][], создаются как ARRAY(Integer), а не как
ARRAY(ARRAY(Integer)) или что-то в этом роде. . Сопоставление типов вычисляется на лету.
К сожалению, я понятия не имею, что это значит. Как сопоставление типов может определить это на лету? Необходимо создать правильный DDL.
Моим первым и единственным предположением, как это сделать, было ARRAY(ARRAY(Integer)). На данный момент у меня
Код: Выделить всё
crossval_table = Table(
name, meta,
Column('id', Integer, primary_key=True),
Column('created', TIMESTAMP(), default=now()),
Column('sample', postgresql.ARRAY(Integer)),
Column('model', postgresql.ARRAY(Integer)),
Column('time', Float),
schema = schema,
Код: Выделить всё
CREATE TABLE crossval (
id integer NOT NULL,
created timestamp without time zone,
sample integer[],
model integer[],
"time" double precision
);
Подробнее здесь: https://stackoverflow.com/questions/972 ... sqlalchemy
Мобильная версия