查询sqlalchemy中的多态关系

时间:2013-10-04 15:28:07

标签: python mysql sqlalchemy relationship polymorphism

有没有人知道如何在sqlalchemy中查询多态关系?

我有一个带有id_tipo字段的Persona表,其值可以是juridicafisica,并指向PersonaJuridica表或PersonanFisica表repectively。

我正在尝试以这种方式使用PersonaJuridica字段进行查询:

session.query(Persona).filter(PersonaJuridica.razon_social == "some value")

但它不起作用。

我也尝试过:

session.query(Persona).join(PersonaJuridica).filter(PersonaJuridica.razon_social == "some value")

我一无所获。

希望有人可以帮助我!

1 个答案:

答案 0 :(得分:1)

我使用Query类的with_polymorphic方法解决了它。 我没见过这个!

session.query(Persona). with_polymorphic ([PersonaJuridica]).filter(PersonaJuridica.razon_social == "some value")

此致