Now i get it :)
Thanks.

On Tuesday, December 30, 2014 8:51:14 PM UTC+3:30, Michael Bayer wrote:
>
>
>
> Mehdi <mese...@gmail.com <javascript:>> wrote:
>
> Hi
> This is making me mad :( 
> I have two tables without defined relations in their models(i have to make 
> my app works with given db) and this is how i make a join query:
> subq = DBSession.query(models.ZT_420_001.ma_master_code, 
> models.ZT_420_001.ma_region,
>                            models.ZT_420_001.ma_subs, 
> models.ZT_420_001.ma_grid,
>                            models.ZT_420_001.ma_xutm, 
> models.ZT_420_001.ma_yutm).subquery()
> query = DBSession.query(models.StatSheet).\
>     join(subq, and_(models.StatSheet.ma_region_id == subq.c.ma_region,
>                     models.StatSheet.ma_utm_x == subq.c.ma_xutm,
>                     models.StatSheet.ma_utm_y == subq.c.ma_yutm,
>                     models.StatSheet.ma_unique_code == func.TO_CHAR(
> subq.c.ma_subs))
>     ).filter(models.StatSheet.ma_resource_type_id == 1)
>
> Now when i run query by query.all() it gives me 1803 records but when i 
> use execute and fetchall, i'll have 1810 rows!
> results = query.all() #=> returns 1803 rows
> results = DBSession.execute(query).fetchall() #=> returns 1810 rows
>
> I checked the result by running the same query in oracle sqldeveloper and 
> the correct result was 1810.
> So why is this happening?
>
>
>
> the ORM when asked to return full entities (e.g. mapped Python objects) 
> will only return one object per primary key identity in the underlying 
> result set.   This is so that eager loading such as joined-eager loading 
> doesn’t result in the same object returned many times for each item in a 
> related collection.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to