diff --git a/dddp/msg.py b/dddp/msg.py index 3b942d6..9e0a3e4 100644 --- a/dddp/msg.py +++ b/dddp/msg.py @@ -1,15 +1,17 @@ """Django DDP utils for DDP messaging.""" -import collections +from dddp import THREAD_LOCAL as this from django.core.serializers import get_serializer -_SERIALIZER = None + +def serializer_factory(): + """Make a new DDP serializer.""" + return get_serializer('ddp')() + def obj_change_as_msg(obj, msg): """Generate a DDP msg for obj with specified msg type.""" - global _SERIALIZER - if _SERIALIZER is None: - _SERIALIZER = get_serializer('ddp')() - data = _SERIALIZER.serialize([obj])[0] + serializer = this.get('serializer', serializer_factory) + data = serializer.serialize([obj])[0] name = data['model'] # cast ID as string