mirror of
https://github.com/jazzband/django-ddp.git
synced 2026-05-16 11:33:14 +00:00
Fix non-threadsafe failure in serializer - now using thread local serializer instance.
This commit is contained in:
parent
82ca99b142
commit
5768d1ebcf
1 changed files with 8 additions and 6 deletions
14
dddp/msg.py
14
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
|
||||
|
|
|
|||
Loading…
Reference in a new issue