[1.8.x] Fixed #24841 -- Made BaseRangeField.prepare_value() call base_field's prepare_value()

Backport of 614bec41b5 from master
This commit is contained in:
Villiers Strauss 2015-05-22 15:54:31 +02:00 committed by Tim Graham
parent 1f33bf78fd
commit 4311fd2c0a
3 changed files with 20 additions and 4 deletions

View file

@ -11,7 +11,7 @@ from django.contrib.postgres.validators import (
)
from django.core import exceptions, serializers
from django.db import connection
from django.test import TestCase
from django.test import TestCase, override_settings
from django.utils import timezone
from .models import RangesModel
@ -467,6 +467,14 @@ class TestFormField(TestCase):
value = field.clean(['2013-04-09 11:45', ''])
self.assertEqual(value, DateTimeTZRange(datetime.datetime(2013, 4, 9, 11, 45), None))
@override_settings(USE_TZ=True, TIME_ZONE='Africa/Johannesburg')
def test_datetime_prepare_value(self):
field = pg_forms.DateTimeRangeField()
value = field.prepare_value(
DateTimeTZRange(datetime.datetime(2015, 5, 22, 16, 6, 33, tzinfo=timezone.utc), None)
)
self.assertEqual(value, [datetime.datetime(2015, 5, 22, 18, 6, 33), None])
def test_model_field_formfield_integer(self):
model_field = pg_fields.IntegerRangeField()
form_field = model_field.formfield()