diff options
Diffstat (limited to 'tests/postgres_tests/models.py')
| -rw-r--r-- | tests/postgres_tests/models.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/tests/postgres_tests/models.py b/tests/postgres_tests/models.py index d6cf3da786..74af39dd04 100644 --- a/tests/postgres_tests/models.py +++ b/tests/postgres_tests/models.py @@ -1,5 +1,8 @@ -from django.contrib.postgres.fields import ArrayField, HStoreField -from django.db import models +from django.contrib.postgres.fields import ( + ArrayField, HStoreField, IntegerRangeField, BigIntegerRangeField, + FloatRangeField, DateTimeRangeField, DateRangeField, +) +from django.db import connection, models class IntegerArrayModel(models.Model): @@ -34,6 +37,20 @@ class TextFieldModel(models.Model): field = models.TextField() +# Only create this model for databases which support it +if connection.vendor == 'postgresql' and connection.pg_version >= 90200: + class RangesModel(models.Model): + ints = IntegerRangeField(blank=True, null=True) + bigints = BigIntegerRangeField(blank=True, null=True) + floats = FloatRangeField(blank=True, null=True) + timestamps = DateTimeRangeField(blank=True, null=True) + dates = DateRangeField(blank=True, null=True) +else: + # create an object with this name so we don't have failing imports + class RangesModel(object): + pass + + class ArrayFieldSubclass(ArrayField): def __init__(self, *args, **kwargs): super(ArrayFieldSubclass, self).__init__(models.IntegerField()) |
