SQLAlchemy连接与显式定义的关系不起作用

2024-09-29 21:59:13 发布

您现在位置:Python中文网/ 问答频道 /正文

当我试图通过显式定义连接条件连接到表/对象时,它不会尝试连接表。有人能帮我看看我错过了什么吗

使用foreignName=sss调用此方法在生成的SQL上没有联接

def getEvents(start=None, end=None, foreignName=None):
    query = Session().query(Event)
    if foreignName != None:
        query.join(ForeignTable, Event.type_id == ForeignTable.foreignId).filter(ForeignTable.name == foreignName)
    if start != None:
        query = query.filter(Event.start_time >= start)
    if end != None:
        query = query.filter(Event.end_time <= end)
    return query.all()

生成的SQL:

INFO:sqlalchemy.engine.base.Engine:SELECT events.type AS events_type, events.id AS events_id, events.title AS events_title, events.start_time AS events_start_time, events.end_time AS events_end_time, events.description AS events_description, events.type_id AS events_type_id, events.event_type AS events_event_type 
FROM events

系统:

  • MacOSX卡塔利纳酒店
  • Python 3.7.3
  • 最新炼金术

这看起来像是同一个问题,但是,我不能让这个工作。 Specify join condition in SQLalchemy ORM without foreign key


Tags: noneeventidsqliftimeastype

热门问题