From: Evan Broder Date: Sat, 19 Jul 2008 05:05:01 +0000 (+0000) Subject: Restructure to accurately reflect parent-child relations X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;ds=sidebyside;h=e6327295659555afc592537194c38812ab107f26;p=bluechips.git Restructure to accurately reflect parent-child relations Also cascade deletes --- diff --git a/bluechips/model/__init__.py b/bluechips/model/__init__.py index 0be372c..a25f1d1 100644 --- a/bluechips/model/__init__.py +++ b/bluechips/model/__init__.py @@ -74,22 +74,26 @@ transfers = sa.Table('transfers', meta.metadata, ### DB/Class Mapping ### -orm.mapper(User, users) +orm.mapper(User, users, + properties={ + 'expenditures': orm.relation(Expenditure, + backref='spender', + lazy=False) +}) orm.mapper(Expenditure, expenditures, order_by=expenditures.c.date.desc(), properties={ - 'spender': orm.relation(User, - backref='expenditures', - lazy=False) + 'splits': orm.relation(Split, backref='expenditure', + cascade='all, delete'), + 'subitems': orm.relation(Subitem, backref='expenditure', + cascade='all, delete') }) orm.mapper(Split, splits, properties={ - 'expenditure': orm.relation(Expenditure, backref='splits'), 'user': orm.relation(User) }) orm.mapper(Subitem, subitems, properties={ - 'expenditure': orm.relation(Expenditure, backref='subitems'), 'user': orm.relation(User) })