Skip to content

Commit 687637a

Browse files
committed
Added check for nonrel db type.
1 parent 6241395 commit 687637a

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

simple_history/models.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ def python_2_unicode_compatible(klass):
5353

5454
registered_models = {}
5555

56+
nonrel_dbs = ('django_mongodb_engine')
57+
5658

5759
class HistoricalRecords(object):
5860
thread = threading.local()
@@ -265,11 +267,11 @@ def get_field(self, other, cls):
265267
if isinstance(to_field, models.OneToOneField):
266268
field = self.get_one_to_one_field(to_field, other)
267269
elif isinstance(to_field, models.AutoField):
268-
# Check if AutoField is string for django-non-rel support
269-
if isinstance(field, models.TextField):
270-
field.__class__ = models.TextField
271-
else:
272-
field.__class__ = models.IntegerField
270+
# Check if AutoField is string for django-non-rel support
271+
if settings.DATABASES['default']['ENGINE'] in nonrel_dbs:
272+
field.__class__ = models.TextField
273+
else:
274+
field.__class__ = models.IntegerField
273275
else:
274276
field.__class__ = to_field.__class__
275277
excluded_prefixes = ("_", "__")
@@ -323,11 +325,11 @@ def transform_field(field):
323325
if isinstance(field, models.AutoField):
324326
# The historical model gets its own AutoField, so any
325327
# existing one must be replaced with an IntegerField.
326-
if isinstance(field, models.TextField):
327-
# Check if AutoField is string for django-non-rel support
328-
field.__class__ = models.TextField
329-
else:
330-
field.__class__ = models.IntegerField
328+
if settings.DATABASES['default']['ENGINE'] in nonrel_dbs:
329+
# Check if AutoField is string for django-non-rel support
330+
field.__class__ = models.TextField
331+
else:
332+
field.__class__ = models.IntegerField
331333

332334
elif isinstance(field, models.FileField):
333335
# Don't copy file, just path.

0 commit comments

Comments
 (0)