diff --git a/neutron/objects/base.py b/neutron/objects/base.py index f377e12c77e..3fa5bc72612 100644 --- a/neutron/objects/base.py +++ b/neutron/objects/base.py @@ -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) diff --git a/neutron/objects/db/api.py b/neutron/objects/db/api.py index a8f57fc7888..670b285c083 100644 --- a/neutron/objects/db/api.py +++ b/neutron/objects/db/api.py @@ -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):