diff options
Diffstat (limited to '')
-rw-r--r-- | archivist/model.py | 9 |
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') |