From e0a76f86b28b5f219b56a60e165f24bfdea746b2 Mon Sep 17 00:00:00 2001 From: Iwo Herka Date: Fri, 27 Jul 2018 12:54:05 +0000 Subject: [PATCH] Rename "enums" attribute on the EnumGroup to "values" (#20) --- eav/forms.py | 6 +++--- eav/migrations/0001_initial.py | 2 +- eav/models.py | 14 +++++++------- tests/data_validation.py | 18 +++++++++--------- tests/queries.py | 6 +++--- 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/eav/forms.py b/eav/forms.py index 4394235..236ff7e 100644 --- a/eav/forms.py +++ b/eav/forms.py @@ -61,10 +61,10 @@ class BaseDynamicEntityForm(ModelForm): datatype = attribute.datatype if datatype == attribute.TYPE_ENUM: - enums = attribute.get_choices() \ + values = attribute.get_choices() \ .values_list('id', 'value') - choices = [('', '-----')] + list(enums) + choices = [('', '-----')] + list(values) defaults.update({'choices': choices}) if value: @@ -102,7 +102,7 @@ class BaseDynamicEntityForm(ModelForm): value = self.cleaned_data.get(attribute.slug) if attribute.datatype == attribute.TYPE_ENUM: if value: - value = attribute.enum_group.enums.get(pk=value) + value = attribute.enum_group.values.get(pk=value) else: value = None diff --git a/eav/migrations/0001_initial.py b/eav/migrations/0001_initial.py index 62cd6b1..13ff713 100644 --- a/eav/migrations/0001_initial.py +++ b/eav/migrations/0001_initial.py @@ -67,7 +67,7 @@ class Migration(migrations.Migration): ), migrations.AddField( model_name='enumgroup', - name='enums', + name='values', field=models.ManyToManyField(to='eav.EnumValue', verbose_name='enum group'), ), migrations.AddField( diff --git a/eav/models.py b/eav/models.py index d784f06..2f96f24 100644 --- a/eav/models.py +++ b/eav/models.py @@ -34,7 +34,7 @@ class EnumValue(models.Model): unknown = EnumValue.objects.create(value='Unknown') ynu = EnumGroup.objects.create(name='Yes / No / Unknown') - ynu.enums.add(yes, no, unknown) + ynu.values.add(yes, no, unknown) Attribute.objects.create(name='has fever?', datatype=Attribute.TYPE_ENUM, enum_group=ynu) # = @@ -55,14 +55,14 @@ class EnumValue(models.Model): class EnumGroup(models.Model): ''' - *EnumGroup* objects have two fields - a *name* ``CharField`` and *enums*, + *EnumGroup* objects have two fields - a *name* ``CharField`` and *values*, a ``ManyToManyField`` to :class:`EnumValue`. :class:`Attribute` classes with datatype *TYPE_ENUM* have a ``ForeignKey`` field to *EnumGroup*. See :class:`EnumValue` for an example. ''' name = models.CharField(_('name'), unique = True, max_length = 100) - enums = models.ManyToManyField(EnumValue, verbose_name = _('enum group')) + values = models.ManyToManyField(EnumValue, verbose_name = _('enum group')) def __str__(self): return ''.format(self.name) @@ -108,7 +108,7 @@ class Attribute(models.Model): no = EnumValue.objects.create(value='no') unknown = EnumValue.objects.create(value='unknown') ynu = EnumGroup.objects.create(name='Yes / No / Unknown') - ynu.enums.add(yes, no, unknown) + ynu.values.add(yes, no, unknown) Attribute.objects.create(name='has fever?', datatype=Attribute.TYPE_ENUM, enum_group=ynu) # = @@ -241,7 +241,7 @@ class Attribute(models.Model): validator(value) if self.datatype == self.TYPE_ENUM: - if value not in self.enum_group.enums.all(): + if value not in self.enum_group.values.all(): raise ValidationError( _('%(val)s is not a valid choice for %(attr)s') % dict(val = value, attr = self) @@ -279,7 +279,7 @@ class Attribute(models.Model): Returns a query set of :class:`EnumValue` objects for this attribute. Returns None if the datatype of this attribute is not *TYPE_ENUM*. ''' - return self.enum_group.enums.all() if self.datatype == Attribute.TYPE_ENUM else None + return self.enum_group.values.all() if self.datatype == Attribute.TYPE_ENUM else None def save_value(self, entity, value): ''' @@ -407,7 +407,7 @@ class Value(models.Model): and value_enum is not a valid choice for this value's attribute. ''' if self.attribute.datatype == Attribute.TYPE_ENUM and self.value_enum: - if self.value_enum not in self.attribute.enum_group.enums.all(): + if self.value_enum not in self.attribute.enum_group.values.all(): raise ValidationError( _('%(enum)s is not a valid choice for %(attr)s') % dict(enum = self.value_enum, attr = self.attribute) diff --git a/tests/data_validation.py b/tests/data_validation.py index 4ce36f5..a1bf3f9 100644 --- a/tests/data_validation.py +++ b/tests/data_validation.py @@ -145,9 +145,9 @@ class DataValidation(TestCase): unkown = EnumValue.objects.create(value='unkown') green = EnumValue.objects.create(value='green') ynu = EnumGroup.objects.create(name='Yes / No / Unknown') - ynu.enums.add(yes) - ynu.enums.add(no) - ynu.enums.add(unkown) + ynu.values.add(yes) + ynu.values.add(no) + ynu.values.add(unkown) Attribute.objects.create(name='Fever?', datatype=Attribute.TYPE_ENUM, enum_group=ynu) p = Patient.objects.create(name='Joe') @@ -172,9 +172,9 @@ class DataValidation(TestCase): no = EnumValue.objects.create(value='no') unkown = EnumValue.objects.create(value='unkown') ynu = EnumGroup.objects.create(name='Yes / No / Unknown') - ynu.enums.add(yes) - ynu.enums.add(no) - ynu.enums.add(unkown) + ynu.values.add(yes) + ynu.values.add(no) + ynu.values.add(unkown) a = Attribute(name='Age Bracket', datatype=Attribute.TYPE_ENUM, enum_group=ynu) a.save() @@ -183,8 +183,8 @@ class DataValidation(TestCase): no = EnumValue.objects.create(value='no') unkown = EnumValue.objects.create(value='unkown') ynu = EnumGroup.objects.create(name='Yes / No / Unknown') - ynu.enums.add(yes) - ynu.enums.add(no) - ynu.enums.add(unkown) + ynu.values.add(yes) + ynu.values.add(no) + ynu.values.add(unkown) a = Attribute(name='color', datatype=Attribute.TYPE_TEXT, enum_group=ynu) self.assertRaises(ValidationError, a.save) diff --git a/tests/queries.py b/tests/queries.py index 3b3f492..be4ed15 100644 --- a/tests/queries.py +++ b/tests/queries.py @@ -24,9 +24,9 @@ class Queries(TestCase): self.unknown = EnumValue.objects.create(value='unknown') ynu = EnumGroup.objects.create(name='Yes / No / Unknown') - ynu.enums.add(self.yes) - ynu.enums.add(self.no) - ynu.enums.add(self.unknown) + ynu.values.add(self.yes) + ynu.values.add(self.no) + ynu.values.add(self.unknown) Attribute.objects.create(name='fever', datatype=Attribute.TYPE_ENUM, enum_group=ynu)