From a208cbdf0b6439fd9fc59050ea9c9afb304bc75d Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 31 Jan 2020 12:14:51 -0500 Subject: [PATCH] model_to_dict(): Remove fields that start with an underscore --- netbox/utilities/testing/utils.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/netbox/utilities/testing/utils.py b/netbox/utilities/testing/utils.py index cdd08d5ac..0cc2e6ce0 100644 --- a/netbox/utilities/testing/utils.py +++ b/netbox/utilities/testing/utils.py @@ -9,6 +9,7 @@ def model_to_dict(instance, fields=None, exclude=None): """ Customized wrapper for Django's built-in model_to_dict(). Does the following: - Excludes the instance ID field + - Exclude any fields prepended with an underscore - Convert any assigned tags to a comma-separated string """ _exclude = ['id'] @@ -17,6 +18,10 @@ def model_to_dict(instance, fields=None, exclude=None): model_dict = _model_to_dict(instance, fields=fields, exclude=_exclude) + for key in list(model_dict.keys()): + if key.startswith('_'): + del model_dict[key] + if 'tags' in model_dict: model_dict['tags'] = ','.join(sorted([tag.name for tag in model_dict['tags']]))