django - 从 Django 中的查询集中获取最大和最小格式化日期值
问题描述
session
我在和之间有一对多的关系camp
。现在我必须将所有营地的最大和最小日期合并为一个特定的session
.
我可以这样做:
sess = Session.objects.last()
max_min_dates = sess.camp.aggregate(Min('start_date'), Max('end_date'))
但是,如果我尝试从那里发送这个,HttpResponse
我会收到这个错误:
TypeError: Object of type 'date' is not JSON serializable
所以我需要在其中发送格式化的日期值。如何修改上面的代码以获得相同的效果?
解决方案
json.dumps() 的默认编码器不支持日期编码(即无法将日期转换为 str)。您可以改用 django 编码器,它支持更多数据类型,请参阅链接了解更多信息。
import json
from django.core.serializers.json import DjangoJSONEncoder
json_str = json.dumps(max_min_dates, cls=DjangoJSONEncoder)
推荐阅读
- entity-framework-core - 保存更改时缓存下降
- javascript - 关闭 Eclipse 2020-06 Javascript 验证说明
- python - 从 HTTP 请求中获取附加的 PDF 文件
- java - Firebase 聊天应用接收通知
- python - 如何从 C 函数签名中确定 Python3 ctypes .argtypes?
- java - 如何从 Maven 输出中删除 [INFO] 和 [ERROR] 标签?
- reactjs - 使用材质 ui TextField 显示 imask 的问题
- python - 如何在 AWS EC2 上运行 python 代码然后使用 POST?
- vhdl - 在 VHDL 中初始化矩阵需要大量类型的逻辑单元块
- elasticsearch - Elasticsearch 搜索时间分析器非常慢