import datetime from typing import Any from django.utils.functional import Promise from django.utils.timezone import is_aware from owslib.encoders import JSONEncoder class DjangoJSONEncoder(JSONEncoder): def default(self, o: Any) -> Any: if isinstance(o, Promise): return str(o) elif isinstance(o, datetime.time): if is_aware(o): raise ValueError("JSON can't represent timezone-aware times.") return super().default(o)