summaryrefslogtreecommitdiff
path: root/model.py
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2010-05-03 23:58:03 +0200
committerRené 'Necoro' Neumann <necoro@necoro.net>2010-05-03 23:58:03 +0200
commit3f19f370ca9f7efcde0955a68f8aa76b46065cd6 (patch)
tree227991f6e36d04a46a859631600c5a57a6ca2307 /model.py
parent81e7480e7526025ce27f0ca234104b039631cf3d (diff)
downloadkosten-3f19f370ca9f7efcde0955a68f8aa76b46065cd6.tar.gz
kosten-3f19f370ca9f7efcde0955a68f8aa76b46065cd6.tar.bz2
kosten-3f19f370ca9f7efcde0955a68f8aa76b46065cd6.zip
Make Expense abstract
Diffstat (limited to 'model.py')
-rw-r--r--model.py14
1 files changed, 5 insertions, 9 deletions
diff --git a/model.py b/model.py
index 903797b..ece69ca 100644
--- a/model.py
+++ b/model.py
@@ -1,5 +1,6 @@
import elixir
from elixir import has_field, belongs_to, has_many, using_options, using_options_defaults
+from elixir import Field, ManyToOne
from sqlalchemy import types as T
from functools import partial
@@ -22,21 +23,16 @@ class Category (Entity):
return '<Category "%s">' % self.name
class Expense (Entity):
- using_options(inheritance='multi')
-
- has_field('description', T.String(50))
- has_req_field('expense', T.Numeric(scale = 2))
+ using_options(abstract = True)
- belongs_to('category', of_kind = 'Category', required = True)
+ description = Field(T.String(50))
+ expense = Field(T.Numeric(scale = 2), required = True)
+ category = ManyToOne('Category', required = True, innerjoin = True, lazy = False)
class SingleExpense (Expense):
- using_options(inheritance='multi')
-
has_req_field('date', T.Date)
class ConstExpense (Expense):
- using_options(inheritance='multi')
-
has_req_field('months', T.Integer)
has_req_field('start', T.Date)
has_req_field('end', T.Date)