I confirm what I said.
The run in multiprocessing was regenerating instances because after
deserialization they were getting new IDs. I tried to implement a custom
__hash__ but it seems that SQLAlchemy does not get it.
What I did was disabling the backref cascade for `Satellite` and
`GroundStation` objects and then, after optimization, doing:
for passage in results:
# I need to merge since if coming from multiprocessing the instance
# IDs change.
passage.satellite = session.merge(passage.satellite)
passage.ground_station = session.merge(passage.ground_station)
session.add(passage)
This looks working as expected.
Thanks to Mike and Simon pointing me on the right track!
--
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.