]> asedeno.scripts.mit.edu Git - bluechips.git/commitdiff
Reconfigure some models for convenience
authorEvan Broder <broder@mit.edu>
Thu, 17 Jul 2008 17:46:32 +0000 (17:46 +0000)
committerEvan Broder <broder@mit.edu>
Thu, 17 Jul 2008 17:46:32 +0000 (17:46 +0000)
 * Add a default sort on expenditures and transfers, since that's
   almost always what's wanted
 * Eagerly load users related to expenditures and transfers, since
   it's cheap and generally wanted

bluechips/model/__init__.py

index 12e28d81a99d1fe023d361bb92b711f64bb69eb3..8601d321e219b05b2988c5031c0ba18f30bf4454 100644 (file)
@@ -99,8 +99,11 @@ class Transfer(object):
 
 orm.mapper(User, users)
 
-orm.mapper(Expenditure, expenditures, properties={
-        'spender': orm.relation(User, backref='expenditures')
+orm.mapper(Expenditure, expenditures, order_by=expenditures.c.date.desc(),
+           properties={
+        'spender': orm.relation(User,
+                                backref='expenditures',
+                                lazy=False)
 })
 
 orm.mapper(Split, splits, properties={
@@ -113,13 +116,16 @@ orm.mapper(Subitem, subitems, properties={
         'user': orm.relation(User)
 })
 
-orm.mapper(Transfer, transfers, properties={
+orm.mapper(Transfer, transfers, order_by=transfers.c.date.desc(),
+           properties={
         'debtor': orm.relation(User,
                                primaryjoin=(transfers.c.debtor_id==\
-                                                users.c.id)),
+                                                users.c.id),
+                               lazy=False),
         'creditor': orm.relation(User,
                                  primaryjoin=(transfers.c.creditor_id==\
-                                                  users.c.id))
+                                                  users.c.id),
+                                 lazy=False)
 })
 
 __all__ = ['users', 'expenditures', 'splits', 'subitems', 'transfers',