summaryrefslogtreecommitdiff
path: root/oslo_db/sqlalchemy/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'oslo_db/sqlalchemy/models.py')
-rw-r--r--oslo_db/sqlalchemy/models.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/oslo_db/sqlalchemy/models.py b/oslo_db/sqlalchemy/models.py
index 80fa01d..8edfe72 100644
--- a/oslo_db/sqlalchemy/models.py
+++ b/oslo_db/sqlalchemy/models.py
@@ -90,14 +90,18 @@ class ModelBase(six.Iterator):
Includes attributes from joins.
"""
- local = dict(self)
+ local = dict((key, value) for key, value in self)
joined = dict([(k, v) for k, v in six.iteritems(self.__dict__)
if not k[0] == '_'])
local.update(joined)
return six.iteritems(local)
+ def keys(self):
+ """Make the model object behave like a dict."""
+ return [key for key, value in self.iteritems()]
+
-class ModelIterator(ModelBase, six.Iterator):
+class ModelIterator(six.Iterator):
def __init__(self, model, columns):
self.model = model