you might want to try:
mapper (someclass, sometable, properties = {
'rels' : relation(someotherclass, lazy=None)
})
which will turn off all loading on the "rels" attribute. im not
sure how well thats going to work since it hasnt been tested very
strongly within the context of a flush(), etc. but it fixes your
unit test even when a flush() is added to the bottom.
if you have half a million "rels", then the relation() function is
not particularly useful for loads since theres currently no way to
limit the rows you fetch.
it seems like the overall feature youre looking for is "extra lazy
loading", which is a pretty large feature. adding small hacks to
attributes.py is only going to complicate the attributes module
unnecessarily and not really going to solve the issue.
or maybe you just want "rels" to be there for the purposes of flush()
but you dont care about loading; in that case maybe the above solves
it (then again why even bother having a "rels" attribute? why not
just define the relation in the other direction only? )
one goal of SA is to not add huge complication to the core just to
suit relatively rare use cases, such as heavy manipulation of
detached objects with lazy loaders attached to them. if you want the
benefits of lazy loading, then you have to have the objects in a
session.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Sqlalchemy-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users