Loading django/db/backends/__init__.py +3 −0 Original line number Diff line number Diff line Loading @@ -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 Loading django/db/backends/sqlite3/base.py +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading tests/inspectdb/tests.py +3 −4 Original line number Diff line number Diff line Loading @@ -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()") Loading Loading
django/db/backends/__init__.py +3 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
django/db/backends/sqlite3/base.py +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
tests/inspectdb/tests.py +3 −4 Original line number Diff line number Diff line Loading @@ -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()") Loading