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