oh.   no, you can't set target.user_id and expect target.user to
magically show up until the flush is complete and the attribute is
expired.  otherwise you're looking to use this recipe:

https://bitbucket.org/zzzeek/sqlalchemy/wiki/UsageRecipes/ExpireRelationshipOnFKChange



On Wed, Jun 6, 2018 at 7:00 PM, Mike Bayer <[email protected]> wrote:
> On Wed, Jun 6, 2018 at 6:03 PM, Colton Allen <[email protected]> wrote:
>> In an after_insert event I'm trying to load the value of an
>> "orm.relationship".  The foreign-key column has a value but it returns null.
>> Is there a way to force it to load?
>>
>> model = Model(user_id=1) # some model is created with a foreign-key
>>
>> @event.listens_for(Model, 'before_insert')
>> def print_user(connection, mapper, target):
>>     print(target.user)  # None - desired: <UserModel 0x00....>
>>     print(target.user_id). # 1
>>
>
> that looks like before_insert.   for after_insert, target.user_id
> should be set, assuming target.user was set to something   (and that
> user_id is the FK for a many to one target.user).
>
>
>
>>
>> --
>> 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 [email protected].
>> To post to this group, send email to [email protected].
>> 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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to