Можно ли как-то осуществить SUBJ?
То есть выбрать не все столбцы из таблицы, а тока некоторые. В идеале еще задать им имя…
А то использую двойной JOIN, он притягивает кучу “ненужных” полей :-)
ЗЫ Может по ORM/DB нужна отдельная ветка?
clegМожно. Вместо указания таблицы из которой выбирать, можно указать столбцы: select()
Можно ли как-то осуществить SUBJ?
То есть выбрать не все столбцы из таблицы, а тока некоторые. В идеале еще задать им имя…
commands = Table('commands', metadata,
Column('cmd_id', Integer, primary_key=True),
Column('for_whom', String(30)),
Column('action', String(20), nullable=False)
)
computers = Table('cli_comps', metadata,
Column('comp_id', Integer, primary_key=True),
Column('ip_addr', String(15), nullable=False)
)
tasks = Table('tasks', metadata,
Column('task_id', Integer, primary_key=True),
Column('comp_id', Integer, ForeignKey('cli_comps.comp_id')),
Column('cmd_id', Integer, ForeignKey('commands.cmd_id')),
Column('completed', Boolean)
)
joins = tasks.join(computers).join(commands)
res = joins.select(computers.c.ip_addr == 'x.x.x.x').execute()
joins = tasks.join(computers).join(commands)
result = select([commands.c.action, computers.c.ip_addr, tasks.c.completed], computers.c.ip_addr == 'x.x.x.x', from_obj=[joins]).execute()
clegДелаешь BoundMetaData для каждой базы и используешь их.
что для этого надо сделать? просто сделать по-новой BoundMetaData - недостаточно.
или это невозможно вообще?