From daf9303df68c68fed5d92484edd71e6937b82421 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Thu, 27 Jun 2024 14:22:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=BC=94=E7=A4=BA?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=8F=90=E9=97=AE=E5=90=8E=EF=BC=8C=E5=AF=B9?= =?UTF-8?q?=E8=AF=9D=E6=97=A5=E5=BF=97=E6=B2=A1=E6=9C=89=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=AF=B9=E8=AF=9D=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/application/models/application.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/apps/application/models/application.py b/apps/application/models/application.py index c3e736d84..bdd0a672e 100644 --- a/apps/application/models/application.py +++ b/apps/application/models/application.py @@ -6,6 +6,8 @@ @date:2023/9/25 14:24 @desc: """ +import datetime +import json import uuid from django.contrib.postgres.fields import ArrayField @@ -106,6 +108,16 @@ class VoteChoices(models.TextChoices): TRAMPLE = 1, '反对' +class DateEncoder(json.JSONEncoder): + def default(self, obj): + if isinstance(obj, uuid.UUID): + return str(obj) + if isinstance(obj, datetime.datetime): + return obj.strftime("%Y-%m-%d %H:%M:%S") + else: + return json.JSONEncoder.default(self, obj) + + class ChatRecord(AppModelMixin): """ 对话日志 详情 @@ -119,7 +131,7 @@ class ChatRecord(AppModelMixin): message_tokens = models.IntegerField(verbose_name="请求token数量", default=0) answer_tokens = models.IntegerField(verbose_name="响应token数量", default=0) const = models.IntegerField(verbose_name="总费用", default=0) - details = models.JSONField(verbose_name="对话详情", default=dict) + details = models.JSONField(verbose_name="对话详情", default=dict, encoder=DateEncoder) improve_paragraph_id_list = ArrayField(verbose_name="改进标注列表", base_field=models.UUIDField(max_length=128, blank=True) , default=list)