SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы

Список вопросов Печать

Пример использования union sqlalchemy


Метки: python sqlalchemy 

Ответы

RemiZOffAlex  Создано: 2016-12-08 12:39:03.669722  Обновлено: 2016-12-08 12:39:03.669722
import sqlalchemy.sql.expression

class Table1(Base):
    __tablename__ = "table1"

    id = Column(Integer, primary_key=True)
    field1 = Column(String)

class Table2(Base):
    __tablename__ = "table2"

    id = Column(Integer, primary_key=True)
    table1_id = Column(Integer, ForeignKey('table1.id'))
    created = Column(DateTime)
    field2 = Column(String)
    field3 = Column(String)

class Table3(Base):
    __tablename__ = "table3"

    id = Column(Integer, primary_key=True)
    table1_id = Column(Integer, ForeignKey('table1.id'))
    created = Column(DateTime)
    field4 = Column(String)
    field5 = Column(String)

result1 = models.db_session.query(
    models.Table2
).filter(
    models.Table2.table1_id==1
)
result2 = models.db_session.query(
    models.Table3
).filter(
    models.Table3.table1_id==1
)

result = sqlalchemy.sql.expression.union_all(result1, result2).order_by('created asc')
result = models.db_session.execute(result).fetchall()

Возможно будут интересны и другие вопросы