ovo: Make return values from objects db api consistent

Previously in db api, we returned dictionaries from create() and update()
methods while get() methods returned db models. This patch makes the
return values consistent and thus we always get db model from db api
operations.

Related-Bug: 1541928
Change-Id: I7e9ec4efa20e3d09e1d5a0ca04799095b6ea42b7
This commit is contained in:
Jakub Libosvar 2016-03-22 16:23:11 +00:00
parent acb7ff8d11
commit f28679c7b0
2 changed files with 4 additions and 3 deletions

View File

@ -213,7 +213,8 @@ class NeutronDbObject(NeutronObject):
:param db_obj: dict of object fetched from database
:return: modified dict of DB values
"""
result = dict(db_obj)
result = {field: value for field, value in dict(db_obj).items()
if value is not None}
for field, field_db in cls.fields_need_translation.items():
if field_db in result:
result[field] = result.pop(field_db)

View File

@ -37,7 +37,7 @@ def create_object(context, model, values):
values['id'] = uuidutils.generate_uuid()
db_obj = model(**values)
context.session.add(db_obj)
return db_obj.__dict__
return db_obj
def _safe_get_object(context, model, **kwargs):
@ -55,7 +55,7 @@ def update_object(context, model, values, **kwargs):
db_obj = _safe_get_object(context, model, **kwargs)
db_obj.update(values)
db_obj.save(session=context.session)
return db_obj.__dict__
return db_obj
def delete_object(context, model, **kwargs):