summaryrefslogtreecommitdiff
path: root/tests/postgres_tests/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/postgres_tests/models.py')
-rw-r--r--tests/postgres_tests/models.py21
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())