mirror of
https://github.com/carrotquest/django-clickhouse.git
synced 2024-11-15 05:46:41 +03:00
Fixed serialization to tuple to_python converting
This commit is contained in:
parent
a205b451a0
commit
bf69c29e4f
|
@ -1,7 +1,8 @@
|
|||
import datetime
|
||||
from typing import NamedTuple
|
||||
|
||||
import pytz
|
||||
from django.db.models import Model as DjangoModel
|
||||
|
||||
from django_clickhouse.utils import model_to_dict
|
||||
|
||||
|
||||
|
@ -15,19 +16,16 @@ class Django2ClickHouseModelSerializer:
|
|||
|
||||
self.exclude_serialize_fields = exclude_fields
|
||||
self._result_class = self._model_cls.get_tuple_class(defaults=defaults)
|
||||
self._fields = self._model_cls.fields(writable=False)
|
||||
|
||||
def _get_serialize_kwargs(self, obj):
|
||||
data = model_to_dict(obj, fields=self.serialize_fields, exclude_fields=self.exclude_serialize_fields)
|
||||
|
||||
# Remove None values, they should be initialized as defaults
|
||||
result = {}
|
||||
for key, value in data.items():
|
||||
if value is None:
|
||||
pass
|
||||
elif isinstance(value, bool):
|
||||
result[key] = int(value)
|
||||
else:
|
||||
result[key] = value
|
||||
result = {
|
||||
key: self._fields[key].to_python(value, pytz.utc)
|
||||
for key, value in data.items() if value is not None
|
||||
}
|
||||
|
||||
return result
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user