Merge branch 'master' of github.com:mvpdev/eav

This commit is contained in:
ksamuel 2010-09-07 12:47:37 +00:00
commit 4d3127223c
2 changed files with 17 additions and 3 deletions

View file

@ -2,7 +2,7 @@ import uuid
import re
from django.db import models
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from django.core.exceptions import ValidationError
class EavSlugField(models.SlugField):
@ -26,4 +26,6 @@ class EavSlugField(models.SlugField):
name = re.sub('\s+', '_', name)
# Remove non alphanumeric characters
name = re.sub('[^\w]', '', name)
return re.sub('[^\w]', '', name)

View file

@ -1,4 +1,5 @@
import re
from datetime import datetime
from django.db import models
from django.utils.translation import ugettext_lazy as _
@ -21,7 +22,7 @@ class EavAttribute(models.Model):
The A model in E-A-V. This holds the 'concepts' along with the data type
something like:
>>> EavAttribute.objects.create(name='Height', datatype='float', slug='height')
>>> EavAttribute.objects.create(name='Height', datatype='float')
<EavAttribute: Height (Float)>
>>> EavAttribute.objects.create(name='Color', datatype='text', slug='color')
@ -60,6 +61,10 @@ class EavAttribute(models.Model):
datatype = models.CharField(_(u"data type"), max_length=6,
choices=DATATYPE_CHOICES)
created = models.DateTimeField(_(u"created"), default=datetime.now)
modified = models.DateTimeField(_(u"modified"), auto_now=True)
labels = models.ManyToManyField(EavAttributeLabel,
verbose_name=_(u"labels"))
@ -137,6 +142,13 @@ class EavValue(models.Model):
attribute = models.ForeignKey(EavAttribute)
def save(self, *args, **kwargs):
self.full_clean()
super(EavValue, self).save(*args, **kwargs)
def clean(self):
pass
def _blank(self):
self.value_text = self.value_float = self.value_int = self.value_date = None