Index: django/db/models/fields/related.py
===================================================================
--- django/db/models/fields/related.py	(revision 13353)
+++ django/db/models/fields/related.py	(working copy)
@@ -901,6 +901,12 @@
         # If the database needs similar types for key fields however, the only
         # thing we can do is making AutoField an IntegerField.
         rel_field = self.rel.get_related_field()
+
+        # Calling rel_db_type method of related field if it exists
+        # TODO: make AutoField/PositiveIntegerField/PositiveSmallIntegerField use this method
+        if (hasattr(rel_field, 'rel_db_type')):
+            return rel_field.rel_db_type(connection=connection)
+
         if (isinstance(rel_field, AutoField) or
                 (not connection.features.related_fields_match_type and
                 isinstance(rel_field, (PositiveIntegerField,
