Thanks Sean. I will check that.

Meanwhile I tried this and it is working

        port1 = orm.aliased(models_v2.Port, name="port1")
        port2 = orm.aliased(models_v2.Port, name="port2")
router_intf_qry = context.session.query(RouterPort.router_id).join((port1, port1.id==RouterPort.port_id), (port2, port2.device_id==RouterPort.router_id)).filter(port1.network_id==int_net_id, port2.network_id==ext_net_id).distinct()

       for router in router_intf_qry:
            router_id =router.router_id

Thanks
Anil Venkata

On 12/01/2015 06:35 PM, Sean M. Collins wrote:
Consult the API:

http://docs.sqlalchemy.org/en/latest/orm/query.html#sqlalchemy.orm.query.Query.join

In fact, there is already one join happening a couple lines above your
change:

https://github.com/openstack/neutron/blob/stable/liberty/neutron/db/l3_db.py#L800

Most likely, you will also need to use the aliased() function - since
there are some examples that are similar to what you are trying to do -
check out the "Joins to a Target with an ON Clause" section in the first
link.

http://docs.sqlalchemy.org/en/latest/orm/query.html#sqlalchemy.orm.aliased



__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to