diff --git a/apps/application/models/application.py b/apps/application/models/application.py index d15b182d9..180aece8b 100644 --- a/apps/application/models/application.py +++ b/apps/application/models/application.py @@ -23,7 +23,7 @@ class Application(AppModelMixin): name = models.CharField(max_length=128, verbose_name="应用名称") desc = models.CharField(max_length=128, verbose_name="引用描述", default="") prologue = models.CharField(max_length=1024, verbose_name="开场白", default="") - example = ArrayField(verbose_name="示例列表", base_field=models.CharField(max_length=256, blank=True)) + example = ArrayField(verbose_name="示例列表", base_field=models.CharField(max_length=256, blank=True), default={}) dialogue_number = models.IntegerField(default=0, verbose_name="会话数量") user = models.ForeignKey(User, on_delete=models.DO_NOTHING) model = models.ForeignKey(Model, on_delete=models.SET_NULL, db_constraint=False, blank=True, null=True) diff --git a/apps/application/serializers/application_serializers.py b/apps/application/serializers/application_serializers.py index 825ba0361..3030a638b 100644 --- a/apps/application/serializers/application_serializers.py +++ b/apps/application/serializers/application_serializers.py @@ -62,12 +62,13 @@ class ApplicationSerializerModel(serializers.ModelSerializer): class ApplicationSerializer(serializers.Serializer): name = serializers.CharField(required=True) - desc = serializers.CharField(required=False) + desc = serializers.CharField(required=False, allow_null=True, allow_blank=True) model_id = serializers.CharField(required=True) multiple_rounds_dialogue = serializers.BooleanField(required=True) - prologue = serializers.CharField(required=False) - example = serializers.ListSerializer(required=False, child=serializers.CharField(required=True)) - dataset_id_list = serializers.ListSerializer(required=False, child=serializers.UUIDField(required=True)) + prologue = serializers.CharField(required=False, allow_null=True, allow_blank=True) + example = serializers.ListSerializer(required=False, child=serializers.CharField(required=True), allow_null=True) + dataset_id_list = serializers.ListSerializer(required=False, child=serializers.UUIDField(required=True), + allow_null=True) class AccessTokenSerializer(serializers.Serializer): application_id = serializers.UUIDField(required=True) @@ -166,7 +167,7 @@ class ApplicationSerializer(serializers.Serializer): return Application(id=uuid.uuid1(), name=application.get('name'), desc=application.get('desc'), prologue=application.get('prologue'), example=application.get('example'), dialogue_number=3 if application.get('multiple_rounds_dialogue') else 0, - status=True, user_id=user_id, model_id=application.get('model_id'), + user_id=user_id, model_id=application.get('model_id'), ) @staticmethod @@ -184,12 +185,13 @@ class ApplicationSerializer(serializers.Serializer): user_id = self.data.get("user_id") query_set_dict = {} query_set = QuerySet(model=get_dynamics_model( - {'temp_application.name': models.CharField(), 'temp_application.desc': models.CharField()})) + {'temp_application.name': models.CharField(), 'temp_application.desc': models.CharField(), + 'temp_application.create_time': models.DateTimeField()})) if "desc" in self.data and self.data.get('desc') is not None: query_set = query_set.filter(**{'temp_application.desc__contains': self.data.get("desc")}) if "name" in self.data and self.data.get('name') is not None: query_set = query_set.filter(**{'temp_application.name__contains': self.data.get("name")}) - + query_set = query_set.order_by("-temp_application.create_time") query_set_dict['default_sql'] = query_set query_set_dict['application_custom_sql'] = QuerySet(model=get_dynamics_model( diff --git a/apps/dataset/serializers/dataset_serializers.py b/apps/dataset/serializers/dataset_serializers.py index bf761b23a..61e0f188d 100644 --- a/apps/dataset/serializers/dataset_serializers.py +++ b/apps/dataset/serializers/dataset_serializers.py @@ -126,12 +126,12 @@ class DataSetSerializers(serializers.ModelSerializer): query_set_dict = {} query_set = QuerySet(model=get_dynamics_model( {'temp.name': models.CharField(), 'temp.desc': models.CharField(), - "document_temp.char_length": models.IntegerField()})) + "document_temp.char_length": models.IntegerField(), 'temp.create_time': models.DateTimeField()})) if "desc" in self.data and self.data.get('desc') is not None: query_set = query_set.filter(**{'temp.desc__contains': self.data.get("desc")}) if "name" in self.data and self.data.get('name') is not None: query_set = query_set.filter(**{'temp.name__contains': self.data.get("name")}) - + query_set = query_set.order_by("-temp.create_time") query_set_dict['default_sql'] = query_set query_set_dict['dataset_custom_sql'] = QuerySet(model=get_dynamics_model( diff --git a/apps/dataset/serializers/document_serializers.py b/apps/dataset/serializers/document_serializers.py index 97647c5f5..bd9b83248 100644 --- a/apps/dataset/serializers/document_serializers.py +++ b/apps/dataset/serializers/document_serializers.py @@ -70,6 +70,7 @@ class DocumentSerializers(ApiMixin, serializers.Serializer): query_set = query_set.filter(**{'dataset_id': self.data.get("dataset_id")}) if 'name' in self.data and self.data.get('name') is not None: query_set = query_set.filter(**{'name__contains': self.data.get('name')}) + query_set = query_set.order_by('-create_time') return query_set def list(self, with_valid=False):