在 model_to_dict 中指定时间格式
Specify time format in model_to_dict
我有模型
class Frame(models.Model):
timestamp = models.DateTimeField(default=timezone.now)
url_to_frame = models.CharField(max_length=100)
def __str__(self):
return f"{self.timestamp}_{self.url_to_frame}"
我必须使用 from django.forms.models import model_to_dict
来序列化 Frame 对象
我收到以下格式的时间戳"timestamp": "2021-06-27T14:18:00Z"
但我需要这样的格式 2021-07-01 01:20:00
如何在我的案例中指定时间格式?
I receive timestamp in the following format "timestamp": "2021-06-27T14:18:00Z"
这是 ISO 8601 日期时间格式。我们可以用 python-dateutil
package 解析它。你可以安装这个包:
pip3 install <b>python-dateutil</b>
然后我们可以用以下方法解析:
>>> from dateutil.parser import isoparse
>>> isoparse('2021-06-27T14:18:00Z')
datetime.datetime(2021, 6, 27, 14, 18, tzinfo=tzutc())
因此您可以使用以下方法预处理字典:
from dateutil.parser import isoparse
mydata['timestamp'] = isoparse(mydata['timestamp'])
如果您想进行高级序列化和反序列化,最好使用 serializers of the Django REST framework。
我有模型
class Frame(models.Model):
timestamp = models.DateTimeField(default=timezone.now)
url_to_frame = models.CharField(max_length=100)
def __str__(self):
return f"{self.timestamp}_{self.url_to_frame}"
我必须使用 from django.forms.models import model_to_dict
来序列化 Frame 对象
我收到以下格式的时间戳"timestamp": "2021-06-27T14:18:00Z"
但我需要这样的格式 2021-07-01 01:20:00
如何在我的案例中指定时间格式?
I receive timestamp in the following format "timestamp": "2021-06-27T14:18:00Z"
这是 ISO 8601 日期时间格式。我们可以用 python-dateutil
package 解析它。你可以安装这个包:
pip3 install <b>python-dateutil</b>
然后我们可以用以下方法解析:
>>> from dateutil.parser import isoparse
>>> isoparse('2021-06-27T14:18:00Z')
datetime.datetime(2021, 6, 27, 14, 18, tzinfo=tzutc())
因此您可以使用以下方法预处理字典:
from dateutil.parser import isoparse
mydata['timestamp'] = isoparse(mydata['timestamp'])
如果您想进行高级序列化和反序列化,最好使用 serializers of the Django REST framework。