diff --git a/eav/fields.py b/eav/fields.py index ee1c168..bd72874 100644 --- a/eav/fields.py +++ b/eav/fields.py @@ -1,5 +1,3 @@ -import re - from django.core.exceptions import ValidationError from django.db import models from django.utils.translation import gettext_lazy as _ @@ -7,41 +5,6 @@ from django.utils.translation import gettext_lazy as _ from eav.forms import CSVFormField -class EavSlugField(models.SlugField): - """ - The slug field used by :class:`~eav.models.Attribute` - """ - - def validate(self, value, instance): - """ - Slugs are used to convert the Python attribute name to a database - lookup and vice versa. We need it to be a valid Python identifier. We - don't want it to start with a '_', underscore will be used in - variables we don't want to be saved in the database. - """ - super(EavSlugField, self).validate(value, instance) - slug_regex = r'^[a-z0-9]+(?:-[a-z0-9]+)*$' - - if not re.match(slug_regex, value): - raise ValidationError( - _( - 'Must be all lower case, start with a letter, and contain ' - 'only letters, numbers, or underscores.' - ) - ) - - @staticmethod - def create_slug_from_name(name): - """Creates a slug based on the name.""" - name = name.strip().lower() - - # Change spaces to underscores. - name = '_'.join(name.split()) - - # Remove non alphanumeric characters. - return re.sub('[^\w]', '', name) - - class EavDatatypeField(models.CharField): """ The datatype field used by :class:`~eav.models.Attribute`. diff --git a/eav/migrations/0001_initial.py b/eav/migrations/0001_initial.py index 4b8ad66..d89bc46 100644 --- a/eav/migrations/0001_initial.py +++ b/eav/migrations/0001_initial.py @@ -39,7 +39,7 @@ class Migration(migrations.Migration): ), ( 'slug', - eav.fields.EavSlugField( + models.SlugField( help_text='Short unique attribute label', unique=True, verbose_name='Slug',