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()