25 lines
730 B
Python
25 lines
730 B
Python
from django.apps import AppConfig
|
|
from django.core.serializers.json import DjangoJSONEncoder
|
|
|
|
from channels_redis.serializers import JSONSerializer, registry
|
|
|
|
import json
|
|
|
|
|
|
class CJSONSerializer(JSONSerializer):
|
|
"""Override `JSONSerializer` to use `DjangoJSONEncoder`."""
|
|
|
|
def as_bytes(self, message, *args, **kwargs): # noqa: ANN001 ANN002 ANN003 ANN201
|
|
message = json.dumps(message, *args, **kwargs, cls=DjangoJSONEncoder)
|
|
return message.encode("utf-8")
|
|
|
|
|
|
class SubmissionsConfig(AppConfig):
|
|
default_auto_field = "django.db.models.BigAutoField"
|
|
name = "submissions"
|
|
|
|
def ready(self):
|
|
registry.register_serializer("cjson", CJSONSerializer)
|
|
|
|
import submissions.signals # noqa
|