mirror of
https://github.com/jazzband/django-eav2.git
synced 2026-03-16 22:40:26 +00:00
Merge branch 'master' of github.com:mvpdev/eav
This commit is contained in:
commit
4d3127223c
2 changed files with 17 additions and 3 deletions
|
|
@ -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)
|
||||
|
||||
|
||||
|
|
|
|||
14
models.py
14
models.py
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue