From 3e71abd8b5ab5fb17efc47d92792222e58498078 Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Tue, 4 May 2010 19:12:16 +0200 Subject: Revert "Splitup date fields" This reverts commit 3d2743ae2097e08adf106ccef735ef9f7147c57c. --- model.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/model.py b/model.py index af2a97e..867849f 100644 --- a/model.py +++ b/model.py @@ -52,9 +52,10 @@ class Expense (Entity): category = ManyToOne('Category', required = True, innerjoin = True) class SingleExpense (Expense): - year = ReqField(T.Integer) - month = ReqField(T.SmallInteger) - day = ReqField(T.SmallInteger) + date = ReqField(T.Date) + + year = ColumnProperty(lambda c: sql.extract('year', c.date)) + month = ColumnProperty(lambda c: sql.extract('month', c.date)) @classmethod def of_month (cls, month, year): @@ -65,17 +66,21 @@ class SingleExpense (Expense): return cls.query.filter(comp) class ConstExpense (Expense): - months = ReqField(T.SmallInteger) - start_year = ReqField(T.Integer) - start_month = ReqField(T.SmallInteger) - end_year = ReqField(T.Integer) - end_month = ReqField(T.SmallInteger) + months = ReqField(T.Integer) + start = ReqField(T.Date) + end = ReqField(T.Date) next = OneToOne('ConstExpense', inverse = 'prev') prev = ManyToOne('ConstExpense') monthly = ColumnProperty(lambda c: sql.cast(c.expense / c.months, ExpNum), deferred = True) + start_year = ColumnProperty(lambda c: sql.extract('year', c.start)) + start_month = ColumnProperty(lambda c: sql.extract('month', c.start)) + + end_year = ColumnProperty(lambda c: sql.extract('year', c.end)) + end_month = ColumnProperty(lambda c: sql.extract('month', c.end)) + @classmethod def of_month (cls, month, year): c1 = sql.or_( -- cgit v1.2.3-70-g09d2