1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Moved object serialization into a utility function

This commit is contained in:
Jeremy Stretch
2018-06-22 14:00:23 -04:00
parent 9d419de9dc
commit 6c1b5fdf3a
3 changed files with 17 additions and 11 deletions

View File

@@ -1,8 +1,10 @@
from __future__ import unicode_literals
import datetime
import json
import six
from django.core.serializers import serialize
from django.http import HttpResponse
@@ -82,3 +84,15 @@ def dynamic_import(name):
for comp in components[1:]:
mod = getattr(mod, comp)
return mod
def serialize_object(obj, extra=None):
"""
Return a generic JSON representation of an object using Django's built-in serializer. (This is used for things like
change logging, not the REST API.)
"""
json_str = serialize('json', [obj])
data = json.loads(json_str)[0]['fields']
if extra is not None:
data['extra'] = extra
return data