diff options
author | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2011-12-25 20:03:11 +0100 |
---|---|---|
committer | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2011-12-28 22:26:00 +0100 |
commit | 19ed039ba6d65cecfd6e8ad6e47b5cb008350b04 (patch) | |
tree | 117a18fe9dbaef263deccf65f50c9f1767cb5639 /mediagoblin/db/sql/models.py | |
parent | 05751758469a03835975dd2998aa727fa29c9a16 (diff) | |
download | mediagoblin-19ed039ba6d65cecfd6e8ad6e47b5cb008350b04.tar.lz mediagoblin-19ed039ba6d65cecfd6e8ad6e47b5cb008350b04.tar.xz mediagoblin-19ed039ba6d65cecfd6e8ad6e47b5cb008350b04.zip |
Implement _id proxy on sql objects (on User for now)
So that the old code can access the primary key still as
"._id".
Quite simple Python Descriptor thing.
Very generic.
Diffstat (limited to 'mediagoblin/db/sql/models.py')
-rw-r--r-- | mediagoblin/db/sql/models.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/mediagoblin/db/sql/models.py b/mediagoblin/db/sql/models.py index b87ff3aa..68b078a5 100644 --- a/mediagoblin/db/sql/models.py +++ b/mediagoblin/db/sql/models.py @@ -11,6 +11,18 @@ from mediagoblin.db.sql.base import GMGTableBase Base = declarative_base(cls=GMGTableBase) +class SimpleFieldAlias(object): + """An alias for any field""" + def __init__(self, fieldname): + self.fieldname = fieldname + + def __get__(self, instance, cls): + return getattr(instance, self.fieldname) + + def __set__(self, instance, val): + setattr(instance, self.fieldname, val) + + class User(Base): __tablename__ = "users" @@ -32,6 +44,8 @@ class User(Base): ## TODO # plugin data would be in a separate model + _id = SimpleFieldAlias("id") + class MediaEntry(Base): __tablename__ = "media_entries" |