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.