From 467ebfa650e75d62046f874593a374e13e7df618 Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 28 Sep 2021 18:17:10 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E6=B7=BB=E5=8A=A0=E5=85=AC=E5=91=8Aid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/settings/serializers/basic.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/settings/serializers/basic.py b/apps/settings/serializers/basic.py index e92304964..4c5ce409a 100644 --- a/apps/settings/serializers/basic.py +++ b/apps/settings/serializers/basic.py @@ -1,8 +1,11 @@ +import uuid + from django.utils.translation import ugettext_lazy as _ from rest_framework import serializers class AnnouncementSerializer(serializers.Serializer): + ID = serializers.CharField(required=False, allow_blank=True, allow_null=True) SUBJECT = serializers.CharField(required=True, max_length=1024, label=_("Subject")) CONTENT = serializers.CharField(label=_("Content")) LINK = serializers.URLField( @@ -11,10 +14,14 @@ class AnnouncementSerializer(serializers.Serializer): ) def to_representation(self, instance): - defaults = {'SUBJECT': '', 'CONTENT': '', 'LINK': '', 'ENABLED': False} + defaults = {'ID': '', 'SUBJECT': '', 'CONTENT': '', 'LINK': '', 'ENABLED': False} data = {**defaults, **instance} return super().to_representation(data) + def to_internal_value(self, data): + data['ID'] = str(uuid.uuid4()) + return super().to_internal_value(data) + class BasicSettingSerializer(serializers.Serializer): SITE_URL = serializers.URLField(