summaryrefslogtreecommitdiff
path: root/django/db/models/fields/reverse_related.py
diff options
context:
space:
mode:
authordjango-bot <ops@djangoproject.com>2022-02-03 20:24:19 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-02-07 20:37:05 +0100
commit9c19aff7c7561e3a82978a272ecdaad40dda5c00 (patch)
treef0506b668a013d0063e5fba3dbf4863b466713ba /django/db/models/fields/reverse_related.py
parentf68fa8b45dfac545cfc4111d4e52804c86db68d3 (diff)
downloaddjango-9c19aff7c7561e3a82978a272ecdaad40dda5c00.tar.gz
Refs #33476 -- Reformatted code with Black.
Diffstat (limited to 'django/db/models/fields/reverse_related.py')
-rw-r--r--django/db/models/fields/reverse_related.py97
1 files changed, 71 insertions, 26 deletions
diff --git a/django/db/models/fields/reverse_related.py b/django/db/models/fields/reverse_related.py
index 6f0c788bbd..2ff66f34d0 100644
--- a/django/db/models/fields/reverse_related.py
+++ b/django/db/models/fields/reverse_related.py
@@ -36,8 +36,16 @@ class ForeignObjectRel(FieldCacheMixin):
null = True
empty_strings_allowed = False
- def __init__(self, field, to, related_name=None, related_query_name=None,
- limit_choices_to=None, parent_link=False, on_delete=None):
+ def __init__(
+ self,
+ field,
+ to,
+ related_name=None,
+ related_query_name=None,
+ limit_choices_to=None,
+ parent_link=False,
+ on_delete=None,
+ ):
self.field = field
self.model = to
self.related_name = related_name
@@ -73,14 +81,17 @@ class ForeignObjectRel(FieldCacheMixin):
"""
target_fields = self.path_infos[-1].target_fields
if len(target_fields) > 1:
- raise exceptions.FieldError("Can't use target_field for multicolumn relations.")
+ raise exceptions.FieldError(
+ "Can't use target_field for multicolumn relations."
+ )
return target_fields[0]
@cached_property
def related_model(self):
if not self.field.model:
raise AttributeError(
- "This property can't be accessed before self.field.contribute_to_class has been called.")
+ "This property can't be accessed before self.field.contribute_to_class has been called."
+ )
return self.field.model
@cached_property
@@ -110,7 +121,7 @@ class ForeignObjectRel(FieldCacheMixin):
return self.field.db_type
def __repr__(self):
- return '<%s: %s.%s>' % (
+ return "<%s: %s.%s>" % (
type(self).__name__,
self.related_model._meta.app_label,
self.related_model._meta.model_name,
@@ -147,12 +158,15 @@ class ForeignObjectRel(FieldCacheMixin):
# created and doesn't exist in the .models module.
# This is a reverse relation, so there is no reverse_path_infos to
# delete.
- state.pop('path_infos', None)
+ state.pop("path_infos", None)
return state
def get_choices(
- self, include_blank=True, blank_choice=BLANK_CHOICE_DASH,
- limit_choices_to=None, ordering=(),
+ self,
+ include_blank=True,
+ blank_choice=BLANK_CHOICE_DASH,
+ limit_choices_to=None,
+ ordering=(),
):
"""
Return choices with a default blank choices included, for use
@@ -165,13 +179,11 @@ class ForeignObjectRel(FieldCacheMixin):
qs = self.related_model._default_manager.complex_filter(limit_choices_to)
if ordering:
qs = qs.order_by(*ordering)
- return (blank_choice if include_blank else []) + [
- (x.pk, str(x)) for x in qs
- ]
+ return (blank_choice if include_blank else []) + [(x.pk, str(x)) for x in qs]
def is_hidden(self):
"""Should the related object be hidden?"""
- return bool(self.related_name) and self.related_name[-1] == '+'
+ return bool(self.related_name) and self.related_name[-1] == "+"
def get_joining_columns(self):
return self.field.get_reverse_joining_columns()
@@ -204,7 +216,7 @@ class ForeignObjectRel(FieldCacheMixin):
return None
if self.related_name:
return self.related_name
- return opts.model_name + ('_set' if self.multiple else '')
+ return opts.model_name + ("_set" if self.multiple else "")
def get_path_info(self, filtered_relation=None):
if filtered_relation:
@@ -239,10 +251,20 @@ class ManyToOneRel(ForeignObjectRel):
reverse relations into actual fields.
"""
- def __init__(self, field, to, field_name, related_name=None, related_query_name=None,
- limit_choices_to=None, parent_link=False, on_delete=None):
+ def __init__(
+ self,
+ field,
+ to,
+ field_name,
+ related_name=None,
+ related_query_name=None,
+ limit_choices_to=None,
+ parent_link=False,
+ on_delete=None,
+ ):
super().__init__(
- field, to,
+ field,
+ to,
related_name=related_name,
related_query_name=related_query_name,
limit_choices_to=limit_choices_to,
@@ -254,7 +276,7 @@ class ManyToOneRel(ForeignObjectRel):
def __getstate__(self):
state = super().__getstate__()
- state.pop('related_model', None)
+ state.pop("related_model", None)
return state
@property
@@ -267,7 +289,9 @@ 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):
@@ -282,10 +306,21 @@ class OneToOneRel(ManyToOneRel):
flags for the reverse relation.
"""
- def __init__(self, field, to, field_name, related_name=None, related_query_name=None,
- limit_choices_to=None, parent_link=False, on_delete=None):
+ def __init__(
+ self,
+ field,
+ to,
+ field_name,
+ related_name=None,
+ related_query_name=None,
+ limit_choices_to=None,
+ parent_link=False,
+ on_delete=None,
+ ):
super().__init__(
- field, to, field_name,
+ field,
+ to,
+ field_name,
related_name=related_name,
related_query_name=related_query_name,
limit_choices_to=limit_choices_to,
@@ -304,11 +339,21 @@ class ManyToManyRel(ForeignObjectRel):
flags for the reverse relation.
"""
- 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):
+ 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,
+ ):
super().__init__(
- field, to,
+ field,
+ to,
related_name=related_name,
related_query_name=related_query_name,
limit_choices_to=limit_choices_to,
@@ -343,7 +388,7 @@ class ManyToManyRel(ForeignObjectRel):
field = opts.get_field(self.through_fields[0])
else:
for field in opts.fields:
- rel = getattr(field, 'remote_field', None)
+ rel = getattr(field, "remote_field", None)
if rel and rel.model == self.model:
break
return field.foreign_related_fields[0]