summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kittystore/storm/model.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/kittystore/storm/model.py b/kittystore/storm/model.py
index 4c9cf06..329488c 100644
--- a/kittystore/storm/model.py
+++ b/kittystore/storm/model.py
@@ -219,7 +219,7 @@ class Thread(Storm):
return self.emails.find(Email.date > date)
def _get_category(self):
- if not self.category_obj:
+ if not self.category_id:
return None
return self.category_obj.name
def _set_category(self, name):
@@ -229,6 +229,9 @@ class Thread(Storm):
# XXX: this is VERY hackish
store = self.__storm_object_info__["store"]
category = store.find(Category, Category.name == name).one()
+ if category is None:
+ category = Category(name)
+ store.add(category)
self.category_id = category.id
category = property(_get_category, _set_category)