summaryrefslogtreecommitdiff
path: root/django/db/models/fields
diff options
context:
space:
mode:
Diffstat (limited to 'django/db/models/fields')
-rw-r--r--django/db/models/fields/related.py8
-rw-r--r--django/db/models/fields/reverse_related.py3
2 files changed, 11 insertions, 0 deletions
diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py
index 0efbe53a0b..7a49861164 100644
--- a/django/db/models/fields/related.py
+++ b/django/db/models/fields/related.py
@@ -785,6 +785,14 @@ class ForeignObject(RelatedField):
def get_reverse_joining_columns(self):
return self.get_joining_columns(reverse_join=True)
+ def get_joining_fields(self, reverse_join=False):
+ return tuple(
+ self.reverse_related_fields if reverse_join else self.related_fields
+ )
+
+ def get_reverse_joining_fields(self):
+ return self.get_joining_fields(reverse_join=True)
+
def get_extra_descriptor_filter(self, instance):
"""
Return an extra filter condition for related object fetching when
diff --git a/django/db/models/fields/reverse_related.py b/django/db/models/fields/reverse_related.py
index b7d82f6258..f3da8f8bf2 100644
--- a/django/db/models/fields/reverse_related.py
+++ b/django/db/models/fields/reverse_related.py
@@ -195,6 +195,9 @@ class ForeignObjectRel(FieldCacheMixin):
def get_joining_columns(self):
return self.field.get_reverse_joining_columns()
+ def get_joining_fields(self):
+ return self.field.get_reverse_joining_fields()
+
def get_extra_restriction(self, alias, related_alias):
return self.field.get_extra_restriction(related_alias, alias)