Browse Source

model_to_dict(): Convert object lists to PK lists

Jeremy Stretch 6 years ago
parent
commit
c9d0dcecf3
1 changed files with 4 additions and 0 deletions
  1. 4 0
      netbox/utilities/testing/utils.py

+ 4 - 0
netbox/utilities/testing/utils.py

@@ -22,6 +22,10 @@ def model_to_dict(instance, fields=None, exclude=None):
         if key.startswith('_'):
         if key.startswith('_'):
             del model_dict[key]
             del model_dict[key]
 
 
+        # 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:
     if 'tags' in model_dict:
         model_dict['tags'] = ','.join(sorted([tag.name for tag in model_dict['tags']]))
         model_dict['tags'] = ','.join(sorted([tag.name for tag in model_dict['tags']]))