diff options
| author | Tim Graham <timograham@gmail.com> | 2016-03-28 18:33:29 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-04-08 09:51:06 -0400 |
| commit | df8d8d4292684d6ffa7474f1e201aed486f02b53 (patch) | |
| tree | c661bf9b33de5288afe4f63347a2a9c768ef98eb /django/db | |
| parent | 2956e2f5e3f63d279f5dae2a995265364d3e6db1 (diff) | |
Fixed E128 flake8 warnings in django/.
Diffstat (limited to 'django/db')
| -rw-r--r-- | django/db/backends/base/introspection.py | 3 | ||||
| -rw-r--r-- | django/db/backends/mysql/base.py | 28 | ||||
| -rw-r--r-- | django/db/backends/mysql/operations.py | 3 | ||||
| -rw-r--r-- | django/db/backends/oracle/base.py | 6 | ||||
| -rw-r--r-- | django/db/backends/oracle/operations.py | 3 | ||||
| -rw-r--r-- | django/db/backends/postgresql/operations.py | 8 | ||||
| -rw-r--r-- | django/db/backends/sqlite3/base.py | 26 | ||||
| -rw-r--r-- | django/db/backends/utils.py | 12 | ||||
| -rw-r--r-- | django/db/models/base.py | 20 | ||||
| -rw-r--r-- | django/db/models/deletion.py | 7 | ||||
| -rw-r--r-- | django/db/models/fields/__init__.py | 41 | ||||
| -rw-r--r-- | django/db/models/fields/files.py | 3 | ||||
| -rw-r--r-- | django/db/models/fields/related.py | 43 | ||||
| -rw-r--r-- | django/db/models/fields/related_descriptors.py | 44 | ||||
| -rw-r--r-- | django/db/models/fields/reverse_related.py | 13 | ||||
| -rw-r--r-- | django/db/models/options.py | 27 | ||||
| -rw-r--r-- | django/db/models/query.py | 32 | ||||
| -rw-r--r-- | django/db/models/sql/compiler.py | 5 | ||||
| -rw-r--r-- | django/db/models/sql/query.py | 3 | ||||
| -rw-r--r-- | django/db/models/sql/subqueries.py | 3 |
20 files changed, 178 insertions, 152 deletions
diff --git a/django/db/backends/base/introspection.py b/django/db/backends/base/introspection.py index 7f3c7aca59..b3eec72469 100644 --- a/django/db/backends/base/introspection.py +++ b/django/db/backends/base/introspection.py @@ -6,8 +6,7 @@ from django.utils import six TableInfo = namedtuple('TableInfo', ['name', 'type']) # Structure returned by the DB-API cursor.description interface (PEP 249) -FieldInfo = namedtuple('FieldInfo', - 'name type_code display_size internal_size precision scale null_ok') +FieldInfo = namedtuple('FieldInfo', 'name type_code display_size internal_size precision scale null_ok') class BaseDatabaseIntrospection(object): diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py index f674232ab3..761e5faaff 100644 --- a/django/db/backends/mysql/base.py +++ b/django/db/backends/mysql/base.py @@ -43,8 +43,8 @@ from .validation import DatabaseValidation # isort:skip # lexicographic ordering in this check because then (1, 2, 1, 'gamma') # inadvertently passes the version test. version = Database.version_info -if (version < (1, 2, 1) or (version[:3] == (1, 2, 1) and - (len(version) < 5 or version[3] != 'final' or version[4] < 2))): +if (version < (1, 2, 1) or ( + version[:3] == (1, 2, 1) and (len(version) < 5 or version[3] != 'final' or version[4] < 2))): from django.core.exceptions import ImproperlyConfigured raise ImproperlyConfigured("MySQLdb-1.2.1p2 or newer is required; you have %s" % Database.__version__) @@ -334,19 +334,27 @@ class DatabaseWrapper(BaseDatabaseWrapper): continue key_columns = self.introspection.get_key_columns(cursor, table_name) for column_name, referenced_table_name, referenced_column_name in key_columns: - cursor.execute(""" + cursor.execute( + """ SELECT REFERRING.`%s`, REFERRING.`%s` FROM `%s` as REFERRING LEFT JOIN `%s` as REFERRED ON (REFERRING.`%s` = REFERRED.`%s`) - WHERE REFERRING.`%s` IS NOT NULL AND REFERRED.`%s` IS NULL""" - % (primary_key_column_name, column_name, table_name, referenced_table_name, - column_name, referenced_column_name, column_name, referenced_column_name)) + WHERE REFERRING.`%s` IS NOT NULL AND REFERRED.`%s` IS NULL + """ % ( + primary_key_column_name, column_name, table_name, + referenced_table_name, column_name, referenced_column_name, + column_name, referenced_column_name, + ) + ) for bad_row in cursor.fetchall(): - raise utils.IntegrityError("The row in table '%s' with primary key '%s' has an invalid " + raise utils.IntegrityError( + "The row in table '%s' with primary key '%s' has an invalid " "foreign key: %s.%s contains a value '%s' that does not have a corresponding value in %s.%s." - % (table_name, bad_row[0], - table_name, column_name, bad_row[1], - referenced_table_name, referenced_column_name)) + % ( + table_name, bad_row[0], table_name, column_name, + bad_row[1], referenced_table_name, referenced_column_name, + ) + ) def is_usable(self): try: diff --git a/django/db/backends/mysql/operations.py b/django/db/backends/mysql/operations.py index 963ad42f10..b9b8cd9089 100644 --- a/django/db/backends/mysql/operations.py +++ b/django/db/backends/mysql/operations.py @@ -12,7 +12,8 @@ class DatabaseOperations(BaseDatabaseOperations): compiler_module = "django.db.backends.mysql.compiler" # MySQL stores positive fields as UNSIGNED ints. - integer_field_ranges = dict(BaseDatabaseOperations.integer_field_ranges, + integer_field_ranges = dict( + BaseDatabaseOperations.integer_field_ranges, PositiveSmallIntegerField=(0, 65535), PositiveIntegerField=(0, 4294967295), ) diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py index 62b17fbe42..91af08acb6 100644 --- a/django/db/backends/oracle/base.py +++ b/django/db/backends/oracle/base.py @@ -367,8 +367,7 @@ class OracleParam(object): else: # To transmit to the database, we need Unicode if supported # To get size right, we must consider bytes. - self.force_bytes = convert_unicode(param, cursor.charset, - strings_only) + self.force_bytes = convert_unicode(param, cursor.charset, strings_only) if isinstance(self.force_bytes, six.string_types): # We could optimize by only converting up to 4000 bytes here string_size = len(force_bytes(param, cursor.charset, strings_only)) @@ -498,8 +497,7 @@ class FormatStylePlaceholderCursor(object): formatted = [firstparams] + [self._format_params(p) for p in params_iter] self._guess_input_sizes(formatted) try: - return self.cursor.executemany(query, - [self._param_generator(p) for p in formatted]) + return self.cursor.executemany(query, [self._param_generator(p) for p in formatted]) except Database.DatabaseError as e: # cx_Oracle <= 4.4.0 wrongly raises a DatabaseError for ORA-01400. if hasattr(e.args[0], 'code') and e.args[0].code == 1400 and not isinstance(e, IntegrityError): diff --git a/django/db/backends/oracle/operations.py b/django/db/backends/oracle/operations.py index c101fcd870..8670e2f4d1 100644 --- a/django/db/backends/oracle/operations.py +++ b/django/db/backends/oracle/operations.py @@ -99,8 +99,7 @@ WHEN (new.%(col_name)s IS NULL) days = str(timedelta.days) day_precision = len(days) fmt = "INTERVAL '%s %02d:%02d:%02d.%06d' DAY(%d) TO SECOND(6)" - return fmt % (days, hours, minutes, seconds, timedelta.microseconds, - day_precision), [] + return fmt % (days, hours, minutes, seconds, timedelta.microseconds, day_precision), [] def date_trunc_sql(self, lookup_type, field_name): # http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions230.htm#i1002084 diff --git a/django/db/backends/postgresql/operations.py b/django/db/backends/postgresql/operations.py index 41d3a7a230..f0715a24e3 100644 --- a/django/db/backends/postgresql/operations.py +++ b/django/db/backends/postgresql/operations.py @@ -139,11 +139,11 @@ class DatabaseOperations(BaseDatabaseOperations): # This will be the case if it's an m2m using an autogenerated # intermediate table (see BaseDatabaseIntrospection.sequence_list) column_name = 'id' - sql.append("%s setval(pg_get_serial_sequence('%s','%s'), 1, false);" % - (style.SQL_KEYWORD('SELECT'), + sql.append("%s setval(pg_get_serial_sequence('%s','%s'), 1, false);" % ( + style.SQL_KEYWORD('SELECT'), style.SQL_TABLE(self.quote_name(table_name)), - style.SQL_FIELD(column_name)) - ) + style.SQL_FIELD(column_name), + )) return sql def tablespace_sql(self, tablespace, inline=False): diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py index 2330a98a53..4f52cc3637 100644 --- a/django/db/backends/sqlite3/base.py +++ b/django/db/backends/sqlite3/base.py @@ -282,18 +282,28 @@ class DatabaseWrapper(BaseDatabaseWrapper): continue key_columns = self.introspection.get_key_columns(cursor, table_name) for column_name, referenced_table_name, referenced_column_name in key_columns: - cursor.execute(""" + cursor.execute( + """ SELECT REFERRING.`%s`, REFERRING.`%s` FROM `%s` as REFERRING LEFT JOIN `%s` as REFERRED ON (REFERRING.`%s` = REFERRED.`%s`) - WHERE REFERRING.`%s` IS NOT NULL AND REFERRED.`%s` IS NULL""" - % (primary_key_column_name, column_name, table_name, referenced_table_name, - column_name, referenced_column_name, column_name, referenced_column_name)) + WHERE REFERRING.`%s` IS NOT NULL AND REFERRED.`%s` IS NULL + """ + % ( + primary_key_column_name, column_name, table_name, + referenced_table_name, column_name, referenced_column_name, + column_name, referenced_column_name, + ) + ) for bad_row in cursor.fetchall(): - raise utils.IntegrityError("The row in table '%s' with primary key '%s' has an invalid " - "foreign key: %s.%s contains a value '%s' that does not have a corresponding value in %s.%s." - % (table_name, bad_row[0], table_name, column_name, bad_row[1], - referenced_table_name, referenced_column_name)) + raise utils.IntegrityError( + "The row in table '%s' with primary key '%s' has an " + "invalid foreign key: %s.%s contains a value '%s' that " + "does not have a corresponding value in %s.%s." % ( + table_name, bad_row[0], table_name, column_name, + bad_row[1], referenced_table_name, referenced_column_name, + ) + ) def is_usable(self): return True diff --git a/django/db/backends/utils.py b/django/db/backends/utils.py index 94134811dd..dce453b7b0 100644 --- a/django/db/backends/utils.py +++ b/django/db/backends/utils.py @@ -85,7 +85,8 @@ class CursorDebugWrapper(CursorWrapper): 'sql': sql, 'time': "%.3f" % duration, }) - logger.debug('(%.3f) %s; args=%s', duration, sql, params, + logger.debug( + '(%.3f) %s; args=%s', duration, sql, params, extra={'duration': duration, 'sql': sql, 'params': params} ) @@ -104,7 +105,8 @@ class CursorDebugWrapper(CursorWrapper): 'sql': '%s times: %s' % (times, sql), 'time': "%.3f" % duration, }) - logger.debug('(%.3f) %s; args=%s', duration, sql, param_list, + logger.debug( + '(%.3f) %s; args=%s', duration, sql, param_list, extra={'duration': duration, 'sql': sql, 'params': param_list} ) @@ -154,9 +156,11 @@ def typecast_timestamp(s): # does NOT store time zone information else: microseconds = '0' tzinfo = utc if settings.USE_TZ else None - return datetime.datetime(int(dates[0]), int(dates[1]), int(dates[2]), + return datetime.datetime( + int(dates[0]), int(dates[1]), int(dates[2]), int(times[0]), int(times[1]), int(seconds), - int((microseconds + '000000')[:6]), tzinfo) + int((microseconds + '000000')[:6]), tzinfo + ) def typecast_decimal(s): diff --git a/django/db/models/base.py b/django/db/models/base.py index 7b0b68f983..c029fd812a 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -519,9 +519,10 @@ class Model(six.with_metaclass(ModelBase)): if pickled_version: current_version = get_version() if current_version != pickled_version: - msg = ("Pickled model instance's Django version %s does" - " not match the current version %s." - % (pickled_version, current_version)) + msg = ( + "Pickled model instance's Django version %s does not match " + "the current version %s." % (pickled_version, current_version) + ) else: msg = "Pickled model instance's Django version is not specified." @@ -1285,9 +1286,7 @@ class Model(six.with_metaclass(ModelBase)): @classmethod def _check_id_field(cls): """ Check if `id` field is a primary key. """ - - fields = list(f for f in cls._meta.local_fields - if f.name == 'id' and f != cls._meta.pk) + fields = list(f for f in cls._meta.local_fields if f.name == 'id' and f != cls._meta.pk) # fields is empty or consists of the invalid "id" field if fields and not fields[0].primary_key and cls._meta.pk.name == 'id': return [ @@ -1342,8 +1341,7 @@ class Model(six.with_metaclass(ModelBase)): # field "id" and automatically added unique field "id", both # defined at the same model. This special case is considered in # _check_id_field and here we ignore it. - id_conflict = (f.name == "id" and - clash and clash.name == "id" and clash.model == cls) + id_conflict = f.name == "id" and clash and clash.name == "id" and clash.model == cls if clash and not id_conflict: errors.append( checks.Error( @@ -1397,8 +1395,7 @@ class Model(six.with_metaclass(ModelBase)): ) ] - elif any(not isinstance(fields, (tuple, list)) - for fields in cls._meta.index_together): + elif any(not isinstance(fields, (tuple, list)) for fields in cls._meta.index_together): return [ checks.Error( "All 'index_together' elements must be lists or tuples.", @@ -1425,8 +1422,7 @@ class Model(six.with_metaclass(ModelBase)): ) ] - elif any(not isinstance(fields, (tuple, list)) - for fields in cls._meta.unique_together): + elif any(not isinstance(fields, (tuple, list)) for fields in cls._meta.unique_together): return [ checks.Error( "All 'unique_together' elements must be lists or tuples.", diff --git a/django/db/models/deletion.py b/django/db/models/deletion.py index 7c9db0d87a..07ee0459de 100644 --- a/django/db/models/deletion.py +++ b/django/db/models/deletion.py @@ -20,8 +20,9 @@ def CASCADE(collector, field, sub_objs, using): def PROTECT(collector, field, sub_objs, using): - raise ProtectedError("Cannot delete some instances of model '%s' because " - "they are referenced through a protected foreign key: '%s.%s'" % ( + raise ProtectedError( + "Cannot delete some instances of model '%s' because they are " + "referenced through a protected foreign key: '%s.%s'" % ( field.remote_field.model.__name__, sub_objs[0].__class__.__name__, field.name ), sub_objs @@ -165,7 +166,7 @@ class Collector(object): return [objs] def collect(self, objs, source=None, nullable=False, collect_related=True, - source_attr=None, reverse_dependency=False, keep_parents=False): + source_attr=None, reverse_dependency=False, keep_parents=False): """ Adds 'objs' to the collection of objects to be deleted as well as all parent instances. 'objs' must be a homogeneous iterable collection of diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 14f7058285..812e5425fc 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -137,12 +137,12 @@ class Field(RegisterLookupMixin): description = property(_description) def __init__(self, verbose_name=None, name=None, primary_key=False, - max_length=None, unique=False, blank=False, null=False, - db_index=False, rel=None, default=NOT_PROVIDED, editable=True, - serialize=True, unique_for_date=None, unique_for_month=None, - unique_for_year=None, choices=None, help_text='', db_column=None, - db_tablespace=None, auto_created=False, validators=[], - error_messages=None): + max_length=None, unique=False, blank=False, null=False, + db_index=False, rel=None, default=NOT_PROVIDED, editable=True, + serialize=True, unique_for_date=None, unique_for_month=None, + unique_for_year=None, choices=None, help_text='', db_column=None, + db_tablespace=None, auto_created=False, validators=[], + error_messages=None): self.name = name self.verbose_name = verbose_name # May be set by set_attributes_from_name self._verbose_name = verbose_name # Store original for deconstruction @@ -806,8 +806,7 @@ class Field(RegisterLookupMixin): if callable(self.default): return self.default() return self.default - if (not self.empty_strings_allowed or (self.null and - not connection.features.interprets_empty_strings_as_nulls)): + if not self.empty_strings_allowed or self.null and not connection.features.interprets_empty_strings_as_nulls: return None return "" @@ -1177,10 +1176,8 @@ class DateTimeCheckMixin(object): # auto_now, auto_now_add, and default are mutually exclusive # options. The use of more than one of these options together # will trigger an Error - mutually_exclusive_options = [self.auto_now_add, self.auto_now, - self.has_default()] - enabled_options = [option not in (None, False) - for option in mutually_exclusive_options].count(True) + mutually_exclusive_options = [self.auto_now_add, self.auto_now, self.has_default()] + enabled_options = [option not in (None, False) for option in mutually_exclusive_options].count(True) if enabled_options > 1: return [ checks.Error( @@ -1314,12 +1311,14 @@ class DateField(DateTimeCheckMixin, Field): def contribute_to_class(self, cls, name, **kwargs): super(DateField, self).contribute_to_class(cls, name, **kwargs) if not self.null: - setattr(cls, 'get_next_by_%s' % self.name, - curry(cls._get_next_or_previous_by_FIELD, field=self, - is_next=True)) - setattr(cls, 'get_previous_by_%s' % self.name, - curry(cls._get_next_or_previous_by_FIELD, field=self, - is_next=False)) + setattr( + cls, 'get_next_by_%s' % self.name, + curry(cls._get_next_or_previous_by_FIELD, field=self, is_next=True) + ) + setattr( + cls, 'get_previous_by_%s' % self.name, + curry(cls._get_next_or_previous_by_FIELD, field=self, is_next=False) + ) def get_prep_value(self, value): value = super(DateField, self).get_prep_value(value) @@ -1633,8 +1632,7 @@ class DecimalField(Field): return utils.format_number(value, self.max_digits, self.decimal_places) def get_db_prep_save(self, value, connection): - return connection.ops.adapt_decimalfield_value(self.to_python(value), - self.max_digits, self.decimal_places) + return connection.ops.adapt_decimalfield_value(self.to_python(value), self.max_digits, self.decimal_places) def get_prep_value(self, value): value = super(DecimalField, self).get_prep_value(value) @@ -2002,8 +2000,7 @@ class GenericIPAddressField(Field): value = force_text(value) value = value.strip() if ':' in value: - return clean_ipv6_address(value, - self.unpack_ipv4, self.error_messages['invalid']) + return clean_ipv6_address(value, self.unpack_ipv4, self.error_messages['invalid']) return value def get_db_prep_value(self, value, connection, prepared=False): diff --git a/django/db/models/fields/files.py b/django/db/models/fields/files.py index 763fdd8093..1d0308b7da 100644 --- a/django/db/models/fields/files.py +++ b/django/db/models/fields/files.py @@ -369,8 +369,7 @@ class ImageField(FileField): descriptor_class = ImageFileDescriptor description = _("Image") - def __init__(self, verbose_name=None, name=None, width_field=None, - height_field=None, **kwargs): + def __init__(self, verbose_name=None, name=None, width_field=None, height_field=None, **kwargs): self.width_field, self.height_field = width_field, height_field super(ImageField, self).__init__(verbose_name, name, **kwargs) diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py index 001b0907ab..0539647bcc 100644 --- a/django/db/models/fields/related.py +++ b/django/db/models/fields/related.py @@ -221,8 +221,7 @@ class RelatedField(Field): # model_set and it clashes with Target.model_set. potential_clashes = rel_opts.fields + rel_opts.many_to_many for clash_field in potential_clashes: - clash_name = "%s.%s" % (rel_opts.object_name, - clash_field.name) # i. e. "Target.model_set" + clash_name = "%s.%s" % (rel_opts.object_name, clash_field.name) # i.e. "Target.model_set" if not rel_is_hidden and clash_field.name == rel_name: errors.append( checks.Error( @@ -441,8 +440,8 @@ class ForeignObject(RelatedField): rel_class = ForeignObjectRel def __init__(self, to, on_delete, from_fields, to_fields, rel=None, related_name=None, - related_query_name=None, limit_choices_to=None, parent_link=False, - swappable=True, **kwargs): + related_query_name=None, limit_choices_to=None, parent_link=False, + swappable=True, **kwargs): if rel is None: rel = self.rel_class( @@ -491,8 +490,9 @@ class ForeignObject(RelatedField): has_unique_constraint = any(u <= foreign_fields for u in unique_foreign_fields) if not has_unique_constraint and len(self.foreign_related_fields) > 1: - field_combination = ', '.join("'%s'" % rel_field.name - for rel_field in self.foreign_related_fields) + field_combination = ', '.join( + "'%s'" % rel_field.name for rel_field in self.foreign_related_fields + ) model_name = self.remote_field.model.__name__ return [ checks.Error( @@ -743,8 +743,8 @@ class ForeignKey(ForeignObject): description = _("Foreign Key (type determined by related field)") def __init__(self, to, on_delete=None, related_name=None, related_query_name=None, - limit_choices_to=None, parent_link=False, to_field=None, - db_constraint=True, **kwargs): + limit_choices_to=None, parent_link=False, to_field=None, + db_constraint=True, **kwargs): try: to._meta.model_name except AttributeError: @@ -1111,9 +1111,9 @@ class ManyToManyField(RelatedField): description = _("Many-to-many relationship") def __init__(self, to, related_name=None, related_query_name=None, - limit_choices_to=None, symmetrical=None, through=None, - through_fields=None, db_constraint=True, db_table=None, - swappable=True, **kwargs): + limit_choices_to=None, symmetrical=None, through=None, + through_fields=None, db_constraint=True, db_table=None, + swappable=True, **kwargs): try: to._meta except AttributeError: @@ -1241,8 +1241,10 @@ class ManyToManyField(RelatedField): # Count foreign keys in intermediate model if self_referential: - seen_self = sum(from_model == getattr(field.remote_field, 'model', None) - for field in self.remote_field.through._meta.fields) + seen_self = sum( + from_model == getattr(field.remote_field, 'model', None) + for field in self.remote_field.through._meta.fields + ) if seen_self > 2 and not self.remote_field.through_fields: errors.append( @@ -1260,10 +1262,14 @@ class ManyToManyField(RelatedField): else: # Count foreign keys in relationship model - seen_from = sum(from_model == getattr(field.remote_field, 'model', None) - for field in self.remote_field.through._meta.fields) - seen_to = sum(to_model == getattr(field.remote_field, 'model', None) - for field in self.remote_field.through._meta.fields) + seen_from = sum( + from_model == getattr(field.remote_field, 'model', None) + for field in self.remote_field.through._meta.fields + ) + seen_to = sum( + to_model == getattr(field.remote_field, 'model', None) + for field in self.remote_field.through._meta.fields + ) if seen_from > 1 and not self.remote_field.through_fields: errors.append( @@ -1469,8 +1475,7 @@ class ManyToManyField(RelatedField): elif self.db_table: return self.db_table else: - return utils.truncate_name('%s_%s' % (opts.db_table, self.name), - connection.ops.max_name_length()) + return utils.truncate_name('%s_%s' % (opts.db_table, self.name), connection.ops.max_name_length()) def _get_m2m_attr(self, related, attr): """ diff --git a/django/db/models/fields/related_descriptors.py b/django/db/models/fields/related_descriptors.py index b6349e5c49..8599911a41 100644 --- a/django/db/models/fields/related_descriptors.py +++ b/django/db/models/fields/related_descriptors.py @@ -868,16 +868,19 @@ def create_forward_many_to_many_manager(superclass, rel, reverse): def clear(self): db = router.db_for_write(self.through, instance=self.instance) with transaction.atomic(using=db, savepoint=False): - signals.m2m_changed.send(sender=self.through, action="pre_clear", + signals.m2m_changed.send( + sender=self.through, action="pre_clear", instance=self.instance, reverse=self.reverse, - model=self.model, pk_set=None, using=db) - + model=self.model, pk_set=None, using=db, + ) filters = self._build_remove_filters(super(ManyRelatedManager, self).get_queryset().using(db)) self.through._default_manager.using(db).filter(filters).delete() - signals.m2m_changed.send(sender=self.through, action="post_clear", + signals.m2m_changed.send( + sender=self.through, action="post_clear", instance=self.instance, reverse=self.reverse, - model=self.model, pk_set=None, using=db) + model=self.model, pk_set=None, using=db, + ) clear.alters_data = True def set(self, objs, **kwargs): @@ -905,9 +908,10 @@ def create_forward_many_to_many_manager(superclass, rel, reverse): new_objs = [] for obj in objs: - fk_val = (self.target_field.get_foreign_related_value(obj)[0] - if isinstance(obj, self.model) else obj) - + fk_val = ( + self.target_field.get_foreign_related_value(obj)[0] + if isinstance(obj, self.model) else obj + ) if fk_val in old_ids: old_ids.remove(fk_val) else: @@ -998,9 +1002,11 @@ def create_forward_many_to_many_manager(superclass, rel, reverse): if self.reverse or source_field_name == self.source_field_name: # Don't send the signal when we are inserting the # duplicate data row for symmetrical reverse entries. - signals.m2m_changed.send(sender=self.through, action='pre_add', + signals.m2m_changed.send( + sender=self.through, action='pre_add', instance=self.instance, reverse=self.reverse, - model=self.model, pk_set=new_ids, using=db) + model=self.model, pk_set=new_ids, using=db, + ) # Add the ones that aren't there already self.through._default_manager.using(db).bulk_create([ @@ -1014,9 +1020,11 @@ def create_forward_many_to_many_manager(superclass, rel, reverse): if self.reverse or source_field_name == self.source_field_name: # Don't send the signal when we are inserting the # duplicate data row for symmetrical reverse entries. - signals.m2m_changed.send(sender=self.through, action='post_add', + signals.m2m_changed.send( + sender=self.through, action='post_add', instance=self.instance, reverse=self.reverse, - model=self.model, pk_set=new_ids, using=db) + model=self.model, pk_set=new_ids, using=db, + ) def _remove_items(self, source_field_name, target_field_name, *objs): # source_field_name: the PK colname in join table for the source object @@ -1037,9 +1045,11 @@ def create_forward_many_to_many_manager(superclass, rel, reverse): db = router.db_for_write(self.through, instance=self.instance) with transaction.atomic(using=db, savepoint=False): # Send a signal to the other end if need be. - signals.m2m_changed.send(sender=self.through, action="pre_remove", + signals.m2m_changed.send( + sender=self.through, action="pre_remove", instance=self.instance, reverse=self.reverse, - model=self.model, pk_set=old_ids, using=db) + model=self.model, pk_set=old_ids, using=db, + ) target_model_qs = super(ManyRelatedManager, self).get_queryset() if target_model_qs._has_filters(): old_vals = target_model_qs.using(db).filter(**{ @@ -1049,8 +1059,10 @@ def create_forward_many_to_many_manager(superclass, rel, reverse): filters = self._build_remove_filters(old_vals) self.through._default_manager.using(db).filter(filters).delete() - signals.m2m_changed.send(sender=self.through, action="post_remove", + signals.m2m_changed.send( + sender=self.through, action="post_remove", instance=self.instance, reverse=self.reverse, - model=self.model, pk_set=old_ids, using=db) + model=self.model, pk_set=old_ids, using=db, + ) return ManyRelatedManager diff --git a/django/db/models/fields/reverse_related.py b/django/db/models/fields/reverse_related.py index 0d2ed35c69..93f0d4aba0 100644 --- a/django/db/models/fields/reverse_related.py +++ b/django/db/models/fields/reverse_related.py @@ -40,7 +40,7 @@ class ForeignObjectRel(object): null = True def __init__(self, field, to, related_name=None, related_query_name=None, - limit_choices_to=None, parent_link=False, on_delete=None): + limit_choices_to=None, parent_link=False, on_delete=None): self.field = field self.model = to self.related_name = related_name @@ -212,7 +212,7 @@ class ManyToOneRel(ForeignObjectRel): """ def __init__(self, field, to, field_name, related_name=None, related_query_name=None, - limit_choices_to=None, parent_link=False, on_delete=None): + limit_choices_to=None, parent_link=False, on_delete=None): super(ManyToOneRel, self).__init__( field, to, related_name=related_name, @@ -235,8 +235,7 @@ class ManyToOneRel(ForeignObjectRel): """ field = self.model._meta.get_field(self.field_name) if not field.concrete: - raise exceptions.FieldDoesNotExist("No related field named '%s'" % - self.field_name) + raise exceptions.FieldDoesNotExist("No related field named '%s'" % self.field_name) return field def set_field_name(self): @@ -252,7 +251,7 @@ class OneToOneRel(ManyToOneRel): """ def __init__(self, field, to, field_name, related_name=None, related_query_name=None, - limit_choices_to=None, parent_link=False, on_delete=None): + limit_choices_to=None, parent_link=False, on_delete=None): super(OneToOneRel, self).__init__( field, to, field_name, related_name=related_name, @@ -274,8 +273,8 @@ class ManyToManyRel(ForeignObjectRel): """ def __init__(self, field, to, related_name=None, related_query_name=None, - limit_choices_to=None, symmetrical=True, through=None, through_fields=None, - db_constraint=True): + limit_choices_to=None, symmetrical=True, through=None, + through_fields=None, db_constraint=True): super(ManyToManyRel, self).__init__( field, to, related_name=related_name, diff --git a/django/db/models/options.py b/django/db/models/options.py index a0b2f56082..0432d6958a 100644 --- a/django/db/models/options.py +++ b/django/db/models/options.py @@ -28,13 +28,14 @@ IMMUTABLE_WARNING = ( "for your own use, make a copy first." ) -DEFAULT_NAMES = ('verbose_name', 'verbose_name_plural', 'db_table', 'ordering', - 'unique_together', 'permissions', 'get_latest_by', - 'order_with_respect_to', 'app_label', 'db_tablespace', - 'abstract', 'managed', 'proxy', 'swappable', 'auto_created', - 'index_together', 'apps', 'default_permissions', - 'select_on_save', 'default_related_name', - 'required_db_features', 'required_db_vendor') +DEFAULT_NAMES = ( + 'verbose_name', 'verbose_name_plural', 'db_table', 'ordering', + 'unique_together', 'permissions', 'get_latest_by', 'order_with_respect_to', + 'app_label', 'db_tablespace', 'abstract', 'managed', 'proxy', 'swappable', + 'auto_created', 'index_together', 'apps', 'default_permissions', + 'select_on_save', 'default_related_name', 'required_db_features', + 'required_db_vendor', +) def normalize_together(option_together): @@ -249,8 +250,7 @@ class Options(object): field.primary_key = True self.setup_pk(field) else: - auto = AutoField(verbose_name='ID', primary_key=True, - auto_created=True) + auto = AutoField(verbose_name='ID', primary_key=True, auto_created=True) model.add_to_class('id', auto) def add_field(self, field, virtual=False): @@ -385,8 +385,7 @@ class Options(object): return make_immutable_fields_list( "fields", (f for f in self._get_fields(reverse=False) - if is_not_an_m2m_field(f) and is_not_a_generic_relation(f) and - is_not_a_generic_foreign_key(f)) + if is_not_an_m2m_field(f) and is_not_a_generic_relation(f) and is_not_a_generic_foreign_key(f)) ) @cached_property @@ -426,8 +425,7 @@ class Options(object): """ return make_immutable_fields_list( "many_to_many", - (f for f in self._get_fields(reverse=False) - if f.is_relation and f.many_to_many) + (f for f in self._get_fields(reverse=False) if f.is_relation and f.many_to_many) ) @cached_property @@ -444,8 +442,7 @@ class Options(object): all_related_fields = self._get_fields(forward=False, reverse=True, include_hidden=True) return make_immutable_fields_list( "related_objects", - (obj for obj in all_related_fields - if not obj.hidden or obj.field.many_to_many) + (obj for obj in all_related_fields if not obj.hidden or obj.field.many_to_many) ) @cached_property diff --git a/django/db/models/query.py b/django/db/models/query.py index 150d77bc91..61c52167c7 100644 --- a/django/db/models/query.py +++ b/django/db/models/query.py @@ -220,9 +220,10 @@ class QuerySet(object): if pickled_version: current_version = get_version() if current_version != pickled_version: - msg = ("Pickled queryset instance's Django version %s does" - " not match the current version %s." - % (pickled_version, current_version)) + msg = ( + "Pickled queryset instance's Django version %s does not " + "match the current version %s." % (pickled_version, current_version) + ) else: msg = "Pickled queryset instance's Django version is not specified." @@ -673,9 +674,7 @@ class QuerySet(object): def raw(self, raw_query, params=None, translations=None, using=None): if using is None: using = self.db - return RawQuerySet(raw_query, model=self.model, - params=params, translations=translations, - using=using) + return RawQuerySet(raw_query, model=self.model, params=params, translations=translations, using=using) def _values(self, *fields): clone = self._clone() @@ -726,8 +725,7 @@ class QuerySet(object): def values_list(self, *fields, **kwargs): flat = kwargs.pop('flat', False) if kwargs: - raise TypeError('Unexpected keyword arguments to values_list: %s' - % (list(kwargs),)) + raise TypeError('Unexpected keyword arguments to values_list: %s' % (list(kwargs),)) if flat and len(fields) > 1: raise TypeError("'flat' is not valid when values_list is called with more than one field.") @@ -1116,8 +1114,10 @@ class QuerySet(object): set(self.query.values_select) != set(other.query.values_select) or set(self.query.extra_select) != set(other.query.extra_select) or set(self.query.annotation_select) != set(other.query.annotation_select)): - raise TypeError("Merging '%s' classes must involve the same values in each case." - % self.__class__.__name__) + raise TypeError( + "Merging '%s' classes must involve the same values in each case." + % self.__class__.__name__ + ) def _merge_known_related_objects(self, other): """ @@ -1214,7 +1214,7 @@ class RawQuerySet(object): annotated model instances. """ def __init__(self, raw_query, model=None, query=None, params=None, - translations=None, using=None, hints=None): + translations=None, using=None, hints=None): self.raw_query = raw_query self.model = model self._db = using @@ -1291,10 +1291,12 @@ class RawQuerySet(object): """ Selects which database this Raw QuerySet should execute its query against. """ - return RawQuerySet(self.raw_query, model=self.model, - query=self.query.clone(using=alias), - params=self.params, translations=self.translations, - using=alias) + return RawQuerySet( + self.raw_query, model=self.model, + query=self.query.clone(using=alias), + params=self.params, translations=self.translations, + using=alias, + ) @property def columns(self): diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py index 9fd6e83220..9447f06f85 100644 --- a/django/db/models/sql/compiler.py +++ b/django/db/models/sql/compiler.py @@ -1059,8 +1059,9 @@ class SQLInsertCompiler(SQLCompiler): if self.connection.features.can_return_id_from_insert: assert len(self.query.objs) == 1 return self.connection.ops.fetch_returned_insert_id(cursor) - return self.connection.ops.last_insert_id(cursor, - self.query.get_meta().db_table, self.query.get_meta().pk.column) + return self.connection.ops.last_insert_id( + cursor, self.query.get_meta().db_table, self.query.get_meta().pk.column + ) class SQLDeleteCompiler(SQLCompiler): diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index 4a5eb1701a..6946c273c7 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -576,8 +576,7 @@ class Query(object): # really make sense (or return consistent value sets). Not worth # the extra complexity when you can write a real query instead. if self._extra and rhs._extra: - raise ValueError("When merging querysets using 'or', you " - "cannot have extra(select=...) on both sides.") + raise ValueError("When merging querysets using 'or', you cannot have extra(select=...) on both sides.") self.extra.update(rhs.extra) extra_select_mask = set() if self.extra_select_mask is not None: diff --git a/django/db/models/sql/subqueries.py b/django/db/models/sql/subqueries.py index 266b6a017c..316a5c684d 100644 --- a/django/db/models/sql/subqueries.py +++ b/django/db/models/sql/subqueries.py @@ -105,8 +105,7 @@ class UpdateQuery(Query): self.related_updates = {} def clone(self, klass=None, **kwargs): - return super(UpdateQuery, self).clone(klass, - related_updates=self.related_updates.copy(), **kwargs) + return super(UpdateQuery, self).clone(klass, related_updates=self.related_updates.copy(), **kwargs) def update_batch(self, pk_list, values, using): self.add_update_values(values) |
