mirror of
https://github.com/jazzband/django-eav2.git
synced 2026-04-25 09:24:43 +00:00
Make eav 'timezone' aware :
- changed called from datetime.now to timezone.now - changed called from datetime(...) to timezone.datetime(...) - changed forms validator as well
This commit is contained in:
parent
91d3c47042
commit
05866d2f9e
3 changed files with 10 additions and 11 deletions
|
|
@ -33,8 +33,8 @@ Classes
|
|||
-------
|
||||
'''
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from django.utils import timezone
|
||||
from django.db import models
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
|
@ -198,7 +198,7 @@ class Attribute(models.Model):
|
|||
datatype = EavDatatypeField(_(u"data type"), max_length=6,
|
||||
choices=DATATYPE_CHOICES)
|
||||
|
||||
created = models.DateTimeField(_(u"created"), default=datetime.now,
|
||||
created = models.DateTimeField(_(u"created"), default=timezone.now,
|
||||
editable=False)
|
||||
|
||||
modified = models.DateTimeField(_(u"modified"), auto_now=True)
|
||||
|
|
@ -354,7 +354,7 @@ class Value(models.Model):
|
|||
value_object = generic.GenericForeignKey(ct_field='generic_value_ct',
|
||||
fk_field='generic_value_id')
|
||||
|
||||
created = models.DateTimeField(_(u"created"), default=datetime.now)
|
||||
created = models.DateTimeField(_(u"created"), default=timezone.now)
|
||||
modified = models.DateTimeField(_(u"modified"), auto_now=True)
|
||||
|
||||
attribute = models.ForeignKey(Attribute, db_index=True,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from datetime import datetime, date
|
||||
from django.utils import timezone
|
||||
|
||||
from django.test import TestCase
|
||||
from django.core.exceptions import ValidationError
|
||||
|
|
@ -91,13 +91,13 @@ class DataValidation(TestCase):
|
|||
self.assertRaises(ValidationError, p.save)
|
||||
p.eav.dob = 15
|
||||
self.assertRaises(ValidationError, p.save)
|
||||
now = datetime.now()
|
||||
now = datetime(year=now.year, month=now.month, day=now.day,
|
||||
hour=now.hour, minute=now.minute, second=now.second)
|
||||
now = timezone.now()
|
||||
now = timezone.datetime(year=now.year, month=now.month, day=now.day,
|
||||
hour=now.hour, minute=now.minute, second=now.second)
|
||||
p.eav.dob = now
|
||||
p.save()
|
||||
self.assertEqual(Patient.objects.get(pk=p.pk).eav.dob, now)
|
||||
today = date.today()
|
||||
today = timezone.today()
|
||||
p.eav.dob = today
|
||||
p.save()
|
||||
self.assertEqual(Patient.objects.get(pk=p.pk).eav.dob.date(), today)
|
||||
|
|
|
|||
|
|
@ -34,8 +34,7 @@ Functions
|
|||
---------
|
||||
'''
|
||||
|
||||
from datetime import datetime, date
|
||||
|
||||
from django.utils import timezone
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.core.exceptions import ValidationError
|
||||
|
|
@ -74,7 +73,7 @@ def validate_date(value):
|
|||
Raises ``ValidationError`` unless *value* is an instance of ``datetime``
|
||||
or ``date``
|
||||
'''
|
||||
if not (isinstance(value, datetime) or isinstance(value, date)):
|
||||
if not (isinstance(value, timezone.datetime) or isinstance(value, timezone.datetime.date)):
|
||||
raise ValidationError(_(u"Must be a date or datetime"))
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue