summaryrefslogtreecommitdiff
path: root/tests/postgres_tests/fields.py
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2015-04-04 18:10:26 +0200
committerClaude Paroz <claude@2xlibre.net>2015-04-18 15:17:49 +0200
commit36e90d1f45a13f53ce25fdc2d9c04433b835c9af (patch)
tree3e5ade944da5c13bcfaba6adac9b15cebbb2b9ef /tests/postgres_tests/fields.py
parent6b6d13bf6ed02c345912829e3850a201f113712a (diff)
Stopped special-casing postgres-specific tests
Refs #23879.
Diffstat (limited to 'tests/postgres_tests/fields.py')
-rw-r--r--tests/postgres_tests/fields.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/postgres_tests/fields.py b/tests/postgres_tests/fields.py
new file mode 100644
index 0000000000..e21ca1bfcb
--- /dev/null
+++ b/tests/postgres_tests/fields.py
@@ -0,0 +1,31 @@
+"""
+Indirection layer for PostgreSQL-specific fields, so the tests don't fail when
+run with a backend other than PostgreSQL.
+"""
+from django.db import models
+
+try:
+ from django.contrib.postgres.fields import (
+ ArrayField, BigIntegerRangeField, DateRangeField, DateTimeRangeField,
+ FloatRangeField, HStoreField, IntegerRangeField,
+ )
+except ImportError:
+ class DummyArrayField(models.Field):
+ def __init__(self, base_field, size=None, **kwargs):
+ super(DummyArrayField, self).__init__(**kwargs)
+
+ def deconstruct(self):
+ name, path, args, kwargs = super(DummyArrayField, self).deconstruct()
+ kwargs.update({
+ 'base_field': '',
+ 'size': 1,
+ })
+ return name, path, args, kwargs
+
+ ArrayField = DummyArrayField
+ BigIntegerRangeField = models.Field
+ DateRangeField = models.Field
+ DateTimeRangeField = models.Field
+ FloatRangeField = models.Field
+ HStoreField = models.Field
+ IntegerRangeField = models.Field