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.
This commit is contained in:
Elrond 2011-12-25 20:03:11 +01:00
parent 0575175846
commit 19ed039ba6

View File

@ -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"