I have 2 related classes • ProvisionedAccess (auth policy) • Credentials (public/private key)
ProvisionedAccess has 2 relationships: • keyset_active -- the active keyset, identified by having an is_active flag • keys_all -- all historical keys I've implemented them as below. the problem is when generating a new keyset. i do the following (in order) * deactivate existing Credentials (is_active=False) * flush * generate new Credentials * flush everything is fine, until i try to stash the relationship for some operations * access.keyset_active = new_Credentials * flush this flush removes the `provisioned_access_id` from the old Credentials, which causes an error. I'm not sure the best way to proceed. I need to figure out a way in which: a- i don't generate SQL when updating that relationship. i only use it as a utility for selects and passing around objects. b- i let the ORM do everything any suggestions on either approach would be appreciated. i know nothing about cascading relationships in the ORM. -- keyset_active = sa.orm.relationship("Credentials", primaryjoin="and_(ProvisionedAccess.id==Credentials.provisioned_access_id, Credentials.is_active==True)", uselist=False ) keys_all = sa.orm.relationship("Credentials", primaryjoin="ProvisionedAccess.id==Credentials.provisioned_access_id", order_by="Credentials.id.desc()" ) -- 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 http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.