Ok, I was able to at least create a script that easily reproduces what I'm 
seeing - 
https://gist.github.com/tonycosentini/22f42455c5068898efa473760e4f65ed

We have some code that runs before our tests to ensure all the tables are 
empty. When that runs, load_only doesn't seem to work. It sounds bizarre, 
but that gist link contains a really short sample that reproduces the same 
behavior. I'm running 1.4.44.

Tony

On Thursday, January 5, 2023 at 11:09:40 AM UTC+8 Tony Cosentini wrote:

> Funny enough, this is what I tried. I just wrote up a small sample script 
> using defaultload + load_only and sure enough it works. There must be 
> something in the code base I'm working with that prevents the load_only bit 
> from being applied. I'm pretty sure defaultload is woroking fine. I'll 
> report back if I find it.
>
> Thanks for clarifying!
>
> On Thursday, January 5, 2023 at 8:14:21 AM UTC+8 Michael Bayer wrote:
>
>> yeah you can use defaultload.load_only
>>
>>
>> defaultload(ModelA.model_b).load_only(ModelB.only_field)
>>
>>
>>
>> On Wednesday, January 4, 2023 at 3:15:02 AM UTC-5 [email protected] 
>> wrote:
>>
>>> Hi,
>>>
>>> This might be a strange question, but I tried to find this in the 
>>> documentation to no avail.
>>>
>>> Is it possible to use something like load_only to override which columns 
>>> are loaded in when loading a relationship (as in, a relationship that is 
>>> not loaded at first with the original query)?
>>>
>>> Something like:
>>> class ModelB:
>>>   ...
>>>
>>> class ModelA:
>>>   model_b = relationship("ModelB")
>>>
>>> model_a = 
>>> session.query(ModelA).options(load_only(Model_b.only_field_i_want_in_the_future)).filter(ModelA.id==1).first()
>>>
>>> It's a bit strange, but I want to ensure if someone loads the model_b 
>>> property in the future, only specific columns are loaded in at first.
>>>
>>> I can do this if I just query for model_b via the foreign key instead of 
>>> using the relationship property, but I'd like to avoid that if possible.
>>>
>>> Sorry if this question is a bit weird/confusing, it's kind of a strange 
>>> use case.
>>>
>>> Thanks,
>>> Tony
>>>
>>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/sqlalchemy/e2dc23f8-97cf-494e-8661-bc0267fdf075n%40googlegroups.com.

Reply via email to