          cursor = connection.cursor()
          cursor.execute(sql, params)
  
          has_resolve_columns = hasattr(self, 'resolve_columns')
          needs_datetime_string_cast = backend.needs_datetime_string_cast
          dates = []
          # It would be better to use self._field here instead of DateTimeField(),
          # but in Oracle that will result in a list of datetime.date instead of
          # datetime.datetime.
          fields = [DateTimeField()]
 
</s> remove         if backend.uses_case_insensitive_names:
 </s> add         if connection.features.uses_case_insensitive_names: </s> remove allows_group_by_ordinal = False
allows_unique_and_pk = False        # Suppress UNIQUE/PK for Oracle (ORA-02259)
autoindexes_primary_keys = True
needs_datetime_string_cast = False
needs_upper_for_iops = True
supports_constraints = True
supports_tablespaces = True
uses_case_insensitive_names = True

 </s> add  </s> remove     from django.db import backend, models
 </s> add     from django.db import connection, models
        needs_datetime_string_cast = connection.features.needs_datetime_string_cast
          cursor = connection.cursor()
          cursor.execute(sql, params)
  
          has_resolve_columns = hasattr(self, 'resolve_columns')
        needs_datetime_string_cast = connection.features.needs_datetime_string_cast
          dates = []
          # It would be better to use self._field here instead of DateTimeField(),
          # but in Oracle that will result in a list of datetime.date instead of
          # datetime.datetime.
          fields = [DateTimeField()]
keep keep keep keep replace keep keep keep keep keep
 Implemented BaseDatabaseFeatures and changed all code to access it -- connection.features.foo instead of backend.foo

git-svn-id: http://code.djangoproject.com/svn/django/trunk@5974 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
django/db/models/query.py