我从未使用潜望镜数据,但看起来你可能在寻找类似SQLAlchemy的东西。SQLAlchemy可以与SQLAlchemy ORM一起使用,也可以不使用它,例如使用SQLAlchemy表达式语言(fromtutorial):stmt = select([users.c.name, addresses.c.email_address]).\
select_from(users.join(addresses)).\
limit(1).offset(1)
result = conn.execute(stmt).fetchall()
相当于运行以下SQL语句:
^{pr2}$
或者使用ORM时(从tutorial):result = session.query(User).join(Address).\
filter(Address.email_address=='jack@google.com').\
all()
相当于此SQL查询:SELECT users.id AS users_id,
users.name AS users_name,
users.fullname AS users_fullname,
users.password AS users_password
FROM users JOIN addresses ON users.id = addresses.user_id
WHERE addresses.email_address = ?
# data for parameterized query: ('jack@google.com',)
SQLAlchemy可以根据表定义和/或模型上配置的外键关系猜测自动联接条件。在
通常,SQLAlchemy不会内省预先存在的表上的关系,而是在SQLAlchemy表定义和/或模型中使用显式定义的关系,但是如果您真的想这样做的话,您可以使用autoload或{a4}来从现有数据库中内省表定义模型。在