From e6327295659555afc592537194c38812ab107f26 Mon Sep 17 00:00:00 2001 From: Evan Broder Date: Sat, 19 Jul 2008 05:05:01 +0000 Subject: [PATCH] Restructure to accurately reflect parent-child relations Also cascade deletes --- bluechips/model/__init__.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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) }) -- 2.45.2