Is there anyway to set the join_depth on the options, or do I just have to 
write that myself with a for loop?

On Thursday, September 20, 2018 at 8:50:59 AM UTC-4, Mike Bayer wrote:
>
> On Wed, Sep 19, 2018 at 5:26 PM Alex Rothberg <agrot...@gmail.com 
> <javascript:>> wrote: 
> > 
> > Following up on 
> https://groups.google.com/forum/#!searchin/sqlalchemy/join_depth%7Csort:date/sqlalchemy/WstKKbEFaRo/hL910npaBQAJ
>  
> and 
> https://stackoverflow.com/questions/4381712/how-do-you-dynamically-adjust-the-recursion-depth-for-eager-loading-in-the-sqlal,
>  
> is there any way to set the join_depth on the query object rather than on 
> the relationship? 
> > 
> > Right now I have: 
> > class Geography(db.Model): 
> >     id = db.Column(UUID, default=uuid.uuid4, primary_key=True) 
> >     name = db.Column(db.String(), nullable=False, unique=True) 
> >     parent_geography_id = db.Column(UUID, db.ForeignKey(id)) 
> >     children = db.relationship( 
> >         lambda: Geography, 
> >         lazy="joined", 
> >         join_depth=3, 
> >         backref=backref("parent", remote_side=[id]), 
> >     ) 
> > 
> > however if I would like to customize the join_depth on the query. 
> > 
> > A related issue is that if I then take 
> Geography.query.options(raiseload("*", sql_only=True)), the join_depth 
> seems to be lost and I just get an exception. Also printing the query when 
> the options is set shows that the join_depth is not used. 
>
> a loader option supersedes join_depth entirely, because you are 
> setting it directly, e.g. 
>
> query.options(joinedload(Geography.parent).joinedload(Geography.parent)) 
>
>
> > 
> > -- 
> > SQLAlchemy - 
> > The Python SQL Toolkit and Object Relational Mapper 
> > 
> > http://www.sqlalchemy.org/ 
> > 
> > To post example code, please provide an MCVE: Minimal, Complete, and 
> Verifiable Example. See http://stackoverflow.com/help/mcve for a full 
> description. 
> > --- 
> > 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+...@googlegroups.com <javascript:>. 
> > To post to this group, send email to sqlal...@googlegroups.com 
> <javascript:>. 
> > Visit this group at https://groups.google.com/group/sqlalchemy. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
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 https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to