Loading django/db/backends/__init__.py +4 −0 Original line number Diff line number Diff line Loading @@ -520,6 +520,10 @@ class BaseDatabaseFeatures(object): # at the end of each save operation? supports_forward_references = True # Does the backend uses proper method like 'truncate_name' # to auto-truncate column names? truncates_name = False # Is there a REAL datatype in addition to floats/doubles? has_real_datatype = False supports_subqueries_in_group_by = True Loading django/db/backends/oracle/base.py +1 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,7 @@ class DatabaseFeatures(BaseDatabaseFeatures): supports_bitwise_or = False can_defer_constraint_checks = True supports_partially_nullable_unique_constraints = False truncates_name = True has_bulk_insert = True supports_tablespaces = True supports_sequence_reset = False Loading django/db/models/base.py +1 −1 Original line number Diff line number Diff line Loading @@ -1469,7 +1469,7 @@ class Model(six.with_metaclass(ModelBase)): continue connection = connections[db] max_name_length = connection.ops.max_name_length() if max_name_length is None: if max_name_length is None or connection.features.truncates_name: continue else: if allowed_len is None: Loading tests/invalid_models_tests/test_models.py +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ def get_max_column_name_length(): for db in settings.DATABASES.keys(): connection = connections[db] max_name_length = connection.ops.max_name_length() if max_name_length is None: if max_name_length is None or connection.features.truncates_name: continue else: if allowed_len is None: Loading Loading
django/db/backends/__init__.py +4 −0 Original line number Diff line number Diff line Loading @@ -520,6 +520,10 @@ class BaseDatabaseFeatures(object): # at the end of each save operation? supports_forward_references = True # Does the backend uses proper method like 'truncate_name' # to auto-truncate column names? truncates_name = False # Is there a REAL datatype in addition to floats/doubles? has_real_datatype = False supports_subqueries_in_group_by = True Loading
django/db/backends/oracle/base.py +1 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,7 @@ class DatabaseFeatures(BaseDatabaseFeatures): supports_bitwise_or = False can_defer_constraint_checks = True supports_partially_nullable_unique_constraints = False truncates_name = True has_bulk_insert = True supports_tablespaces = True supports_sequence_reset = False Loading
django/db/models/base.py +1 −1 Original line number Diff line number Diff line Loading @@ -1469,7 +1469,7 @@ class Model(six.with_metaclass(ModelBase)): continue connection = connections[db] max_name_length = connection.ops.max_name_length() if max_name_length is None: if max_name_length is None or connection.features.truncates_name: continue else: if allowed_len is None: Loading
tests/invalid_models_tests/test_models.py +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ def get_max_column_name_length(): for db in settings.DATABASES.keys(): connection = connections[db] max_name_length = connection.ops.max_name_length() if max_name_length is None: if max_name_length is None or connection.features.truncates_name: continue else: if allowed_len is None: Loading