Skip to content

Commit

Permalink
Fix db operations import from django for db ranges (#127)
Browse files Browse the repository at this point in the history
  • Loading branch information
shosca committed Feb 15, 2019
1 parent 654d05d commit 037e2f2
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions django_sorcery/db/fields.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
from importlib import import_module

import six

Expand All @@ -10,7 +9,9 @@
from django.core import validators as django_validators
from django.db.backends.base import operations
from django.forms import fields as djangofields
from django.utils.module_loading import import_string

from ..utils import suppress
from .url import DIALECT_MAP_TO_DJANGO


Expand Down Expand Up @@ -242,14 +243,15 @@ def get_type_kwargs(self, type_class, kwargs):

class ValidateIntegerFieldMixin(object):
def get_django_dialect_ranges(self):
module = (
import_module(
DIALECT_MAP_TO_DJANGO.get(self.db.url.get_dialect().name, "django.db.backends.base") + ".operations"
ops = operations.BaseDatabaseOperations
with suppress(ImportError):
ops = (
import_string(DIALECT_MAP_TO_DJANGO.get(self.db.url.get_dialect().name) + ".base.DatabaseOperations")
if self.db
else operations.BaseDatabaseOperations
)
if self.db
else operations
)
return getattr(module, "DatabaseOperations", operations.BaseDatabaseOperations).integer_field_ranges

return ops.integer_field_ranges

def get_dialect_range(self):
return self.get_django_dialect_ranges()[self.__class__.__name__]
Expand Down

0 comments on commit 037e2f2

Please sign in to comment.