On Wed, Sep 19, 2018 at 5:26 PM Alex Rothberg <agrothb...@gmail.com> 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+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.

-- 
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