docs: def get_joining_columns(self, reverse_join=False):
          """
          Get and return joining columns defined by this foreign key relationship
  
          :return: A tuple containing the column names of the tables to be
              joined (<local_col_name>, <remote_col_name>)
          :rtype: tuple
          """
          source = self.reverse_related_fields if reverse_join \
              else self.related_fields
          joining_columns = tuple()
          for lhs_field, rhs_field in source:
              lhs_col_name = lhs_field.column
              rhs_col_name = rhs_field.column
              # Test whether
              # - self is the current ForeignKey relationship
              # - self was not auto_created (e.g. is not part of a M2M
              #   relationship)
              if self is lhs_field and not self.auto_created:
                  if rhs_col_name == Versionable.VERSION_IDENTIFIER_FIELD:
                      rhs_col_name = Versionable.OBJECT_IDENTIFIER_FIELD
              elif self is rhs_field and not self.auto_created:
                  if lhs_col_name == Versionable.VERSION_IDENTIFIER_FIELD:
                      lhs_col_name = Versionable.OBJECT_IDENTIFIER_FIELD
              joining_columns = joining_columns + ((lhs_col_name, rhs_col_name),)
          return joining_columns