diff options
-rw-r--r-- | kittystore/storm/model.py | 5 |
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) |