From 3cba8648cb430c4bd202e326cdf1bee1881216b9 Mon Sep 17 00:00:00 2001 From: feng626 <1304903146@qq.com> Date: Thu, 16 Sep 2021 15:35:26 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=B7=A5=E5=8D=95=E6=97=A5=E6=9C=9Fbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ticket/meta/ticket_type/apply_application.py | 13 +++++++++---- .../ticket/meta/ticket_type/apply_asset.py | 13 +++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/apps/tickets/serializers/ticket/meta/ticket_type/apply_application.py b/apps/tickets/serializers/ticket/meta/ticket_type/apply_application.py index dd3be12a7..8ea1075d2 100644 --- a/apps/tickets/serializers/ticket/meta/ticket_type/apply_application.py +++ b/apps/tickets/serializers/ticket/meta/ticket_type/apply_application.py @@ -1,3 +1,5 @@ +from datetime import datetime + from rest_framework import serializers from django.utils.translation import ugettext_lazy as _ from perms.models import ApplicationPermission @@ -69,9 +71,12 @@ class ApplySerializer(serializers.Serializer): 'Permission named `{}` already exists'.format(permission_name) )) - def validate_apply_date_expired(self, apply_date_expired): - apply_date_start = self.root.initial_data['meta'].get('apply_date_start') - if str(apply_date_expired) <= apply_date_start: + def validate_apply_date_expired(self, value): + date_start = self.root.initial_data['meta'].get('apply_date_start') + date_start = datetime.strptime(date_start, '%Y-%m-%dT%H:%M:%S.%fZ') + date_expired = self.root.initial_data['meta'].get('apply_date_expired') + date_expired = datetime.strptime(date_expired, '%Y-%m-%dT%H:%M:%S.%fZ') + if date_expired <= date_start: error = _('The expiration date should be greater than the start date') raise serializers.ValidationError(error) - return apply_date_expired + return value diff --git a/apps/tickets/serializers/ticket/meta/ticket_type/apply_asset.py b/apps/tickets/serializers/ticket/meta/ticket_type/apply_asset.py index 294ecd1ab..2be6da2a7 100644 --- a/apps/tickets/serializers/ticket/meta/ticket_type/apply_asset.py +++ b/apps/tickets/serializers/ticket/meta/ticket_type/apply_asset.py @@ -1,3 +1,5 @@ +from datetime import datetime + from django.utils.translation import ugettext_lazy as _ from rest_framework import serializers from perms.serializers import ActionsField @@ -61,9 +63,12 @@ class ApplySerializer(serializers.Serializer): 'Permission named `{}` already exists'.format(permission_name) )) - def validate_apply_date_expired(self, apply_date_expired): - apply_date_start = self.root.initial_data['meta'].get('apply_date_start') - if str(apply_date_expired) <= apply_date_start: + def validate_apply_date_expired(self, value): + date_start = self.root.initial_data['meta'].get('apply_date_start') + date_start = datetime.strptime(date_start, '%Y-%m-%dT%H:%M:%S.%fZ') + date_expired = self.root.initial_data['meta'].get('apply_date_expired') + date_expired = datetime.strptime(date_expired, '%Y-%m-%dT%H:%M:%S.%fZ') + if date_expired <= date_start: error = _('The expiration date should be greater than the start date') raise serializers.ValidationError(error) - return apply_date_expired + return value