Make validator not trigger migration creation.

This commit is contained in:
Roberto Rosario
2015-07-11 02:59:18 -04:00
parent f95c9c2aa4
commit 72bbc3f4e9
3 changed files with 31 additions and 6 deletions

View File

@@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import converter.validators
class Migration(migrations.Migration):
dependencies = [
('converter', '0006_auto_20150708_0120'),
]
operations = [
migrations.AlterField(
model_name='transformation',
name='arguments',
field=models.TextField(help_text='Enter the arguments for the transformation as a YAML dictionary. ie: {"degrees": 180}', blank=True, verbose_name='Arguments', validators=[converter.validators.YAMLValidator()]),
preserve_default=True,
),
]

View File

@@ -15,10 +15,6 @@ from .validators import YAMLValidator
logger = logging.getLogger(__name__)
def validators():
return [YAMLValidator()]
@python_2_unicode_compatible
class Transformation(models.Model):
"""
@@ -32,7 +28,7 @@ class Transformation(models.Model):
order = models.PositiveIntegerField(blank=True, db_index=True, default=0, help_text=_('Order in which the transformations will be executed.'), null=True, verbose_name=_('Order'))
name = models.CharField(choices=BaseTransformation.get_transformation_choices(), max_length=128, verbose_name=_('Name'))
arguments = models.TextField(blank=True, help_text=_('Enter the arguments for the transformation as a YAML dictionary. ie: {"degrees": 180}'), validators=validators, verbose_name=_('Arguments'))
arguments = models.TextField(blank=True, help_text=_('Enter the arguments for the transformation as a YAML dictionary. ie: {"degrees": 180}'), validators=[YAMLValidator()], verbose_name=_('Arguments'))
objects = TransformationManager()

View File

@@ -3,8 +3,8 @@ from __future__ import unicode_literals
import yaml
from django.core.exceptions import ValidationError
from django.utils.translation import ugettext_lazy as _
from django.utils.deconstruct import deconstructible
from django.utils.translation import ugettext_lazy as _
@deconstructible
@@ -19,3 +19,11 @@ class YAMLValidator(object):
yaml.safe_load(value)
except yaml.error.YAMLError:
raise ValidationError(_('Enter a valid YAML value.'), code='invalid')
def __eq__(self, other):
return (
isinstance(other, YAMLValidator)
)
def __ne__(self, other):
return not (self == other)