def __init__(self, *args, **kwargs): super(DatabaseWrapper, self).__init__(*args, **kwargs) options = self.settings_dict.get('OPTIONS', None) if options: self.MARS_Connection = options.get('MARS_Connection', False) self.datefirst = options.get('datefirst', 7) self.unicode_results = options.get('unicode_results', False) self.encoding = options.get('encoding', 'utf-8') self.driver_supports_utf8 = options.get('driver_supports_utf8', None) self.driver_needs_utf8 = options.get('driver_needs_utf8', None) self.limit_table_list = options.get('limit_table_list', False) # make lookup operators to be collation-sensitive if needed self.collation = options.get('collation', None) if self.collation: self.operators = dict(self.__class__.operators) ops = {} for op in self.operators: sql = self.operators[op] if sql.startswith('LIKE '): ops[op] = '%s COLLATE %s' % (sql, self.collation) self.operators.update(ops) self.test_create = self.settings_dict.get('TEST_CREATE', True) self.features = DatabaseFeatures(self) self.ops = DatabaseOperations(self) self.client = DatabaseClient(self) self.creation = DatabaseCreation(self) self.introspection = DatabaseIntrospection(self) self.validation = BaseDatabaseValidation(self) self.connection = None