From c34b7e69eb0f3a8e8238832f9b7e36823e6cb3c5 Mon Sep 17 00:00:00 2001 From: jiangweidong Date: Mon, 30 Jan 2023 17:33:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20mongodb=E6=97=A0=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E6=97=B6=EF=BC=8C=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=8C=96=E4=BB=BB=E5=8A=A1=E4=BC=9A=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/serializers/asset/database.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/apps/assets/serializers/asset/database.py b/apps/assets/serializers/asset/database.py index c4ad0171d..9ef2232a7 100644 --- a/apps/assets/serializers/asset/database.py +++ b/apps/assets/serializers/asset/database.py @@ -1,3 +1,6 @@ +from rest_framework.serializers import ValidationError +from django.utils.translation import ugettext_lazy as _ + from assets.models import Database from .common import AssetSerializer from ..gateway import GatewayWithAccountSecretSerializer @@ -14,6 +17,13 @@ class DatabaseSerializer(AssetSerializer): ] fields = AssetSerializer.Meta.fields + extra_fields + def validate(self, attrs): + platform = attrs.get('platform') + if platform and getattr(platform, 'name') == 'MongoDB' \ + and not attrs.get('db_name'): + raise ValidationError({'db_name': _('This field is required.')}) + return attrs + class DatabaseWithGatewaySerializer(DatabaseSerializer): gateway = GatewayWithAccountSecretSerializer()