This method overrides django.db.models.fields.related.ForeignObject.contribute_to_class.
If private_only is True, create a separate instance of this field for every subclass of cls, even if cls is not an abstract model.
This method overrides django.db.models.fields.related.ForeignObject.get_extra_restriction.
Note that currently referring both the 'alias' and 'related_alias' will not work in some conditions, like subquery pushdown. A parallel method is get_extra_descriptor_filter() which is used in instance.fieldname related object fetching.
This method overrides django.db.models.fields.related.ForeignObject.get_path_info.
This method overrides django.db.models.fields.related.ForeignObject.get_reverse_path_info.
This method overrides django.db.models.fields.related.RelatedField.set_attributes_from_rel.