我遇到了“ datetime.datetime not JSON serializable”错误,想要一个干净的Django解决方案
因此,我尝试使用DjangoJSONEncoder,但是在序列化之后我没有设法反序列化数据(我想将其存储在JSONField中)。我收到一个DeserializationError。我在做什么错了?
这是我到目前为止提出的内容:
from django.utils.timezone import localtime, now
from django.core.serializers.json import DjangoJSONEncoder
from django.core.serializers import deserialize
a = DjangoJSONEncoder().encode(localtime(now()))
print(a) # "2019-07-31T16:48:19.665+02:00"
b = deserialize("json",a)
print(b) # <generator object Deserializer at 0x0000006CD0F35A40>
for c in b :
print(c) # django.core.serializers.base.DeserializationError
PS:使用Python 3.6.8和Django 2.2.3
编辑:我也尝试过:
django.core.serializers.json import Deserializer
b = Deserializer(a)
print(b) # <generator object Deserializer at 0x000000444E85F9E8>
for c in b :
print(c) #django.core.serializers.base.DeserializationError
基本相同的结果