Commit e071f67b authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

Replaced an explicit vendor check by a feature flag.

Forward-port of c9aedce0 from stable/1.7.x.
parent 5c95a553
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -591,6 +591,9 @@ class BaseDatabaseFeatures(object):
    # Can the backend introspect an BooleanField, instead of an IntegerField?
    can_introspect_boolean_field = True

    # Can the backend introspect an DecimalField, instead of an FloatField?
    can_introspect_decimal_field = True

    # Can the backend introspect an IPAddressField, instead of an CharField?
    can_introspect_ip_address_field = False

+1 −0
Original line number Diff line number Diff line
@@ -105,6 +105,7 @@ class DatabaseFeatures(BaseDatabaseFeatures):
    supports_foreign_keys = False
    supports_check_constraints = False
    autocommits_when_autocommit_is_off = True
    can_introspect_decimal_field = False
    can_introspect_positive_integer_field = True
    can_introspect_small_integer_field = True
    supports_transactions = True
+3 −4
Original line number Diff line number Diff line
@@ -100,13 +100,12 @@ class InspectDBTestCase(TestCase):
            else:
                assertFieldType('null_bool_field', "models.IntegerField()")

        if connection.vendor == 'sqlite':
            # Guessed arguments on SQLite, see #5014
        if connection.features.can_introspect_decimal_field:
            assertFieldType('decimal_field', "models.DecimalField(max_digits=6, decimal_places=1)")
        else:       # Guessed arguments on SQLite, see #5014
            assertFieldType('decimal_field', "models.DecimalField(max_digits=10, decimal_places=5)  "
                                             "# max_digits and decimal_places have been guessed, "
                                             "as this database handles decimal fields as float")
        else:
            assertFieldType('decimal_field', "models.DecimalField(max_digits=6, decimal_places=1)")

        assertFieldType('float_field', "models.FloatField()")