summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archivist/model.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/archivist/model.py b/archivist/model.py
index e672d29..5af743b 100644
--- a/archivist/model.py
+++ b/archivist/model.py
@@ -39,16 +39,16 @@ class BaseModel(Model):
@classmethod
def create_or_get(cls, **kwargs):
- if not __keys__:
+ if not cls.__keys__:
raise ValueError("create_or_get not supported on %s" % cls.__name__)
- for key in __keys__:
+ for key in cls.__keys__:
if key not in kwargs:
raise ValueError("required key '%s' missing" % key)
try:
return cls.create(**kwargs), True
except IntegrityError:
- sel = {k:kwargs[k] for k in __keys__}
+ sel = {k:kwargs[k] for k in cls.__keys__}
return cls.get(**sel), False
class Meta:
@@ -151,6 +151,9 @@ class DocumentTag(BaseModel):
class Meta:
primary_key = CompositeKey('document', 'tag')
+ def __repr__(self):
+ return "<%s %d --> %d>" % (self.__class__.__name__, self.document_id, self.tag_id)
+
@table
class TagImplications(BaseModel):
tag = ForeignKeyField(Tag, related_name = 'implications')