From 936e3424bbffeba660543a397d9a6201b9fbbd96 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 31 Jan 2020 14:12:48 -0500 Subject: [PATCH] Refactor model_to_dict() to better handle tags --- netbox/utilities/testing/utils.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/netbox/utilities/testing/utils.py b/netbox/utilities/testing/utils.py index 7ff45a30d..6d20d4fff 100644 --- a/netbox/utilities/testing/utils.py +++ b/netbox/utilities/testing/utils.py @@ -22,13 +22,14 @@ def model_to_dict(instance, fields=None, exclude=None): if key.startswith('_'): del model_dict[key] + # TODO: Differentiate between tags assigned to the instance and a M2M field for tags (ex: ConfigContext) + elif key == 'tags': + model_dict[key] = ','.join(sorted([tag.name for tag in model_dict['tags']])) + # Convert ManyToManyField to list of instance PKs elif model_dict[key] and type(model_dict[key]) in (list, tuple) and hasattr(model_dict[key][0], 'pk'): model_dict[key] = [obj.pk for obj in model_dict[key]] - if 'tags' in model_dict: - model_dict['tags'] = ','.join(sorted([tag.name for tag in model_dict['tags']])) - return model_dict