@@ -265,7 +265,11 @@ def get_field(self, other, cls):
265
265
if isinstance (to_field , models .OneToOneField ):
266
266
field = self .get_one_to_one_field (to_field , other )
267
267
elif isinstance (to_field , models .AutoField ):
268
- field .__class__ = models .IntegerField
268
+ # Check if AutoField is string for django-non-rel support
269
+ if isinstance (field , models .TextField ):
270
+ field .__class__ = models .TextField
271
+ else :
272
+ field .__class__ = models .IntegerField
269
273
else :
270
274
field .__class__ = to_field .__class__
271
275
excluded_prefixes = ("_" , "__" )
@@ -319,7 +323,12 @@ def transform_field(field):
319
323
if isinstance (field , models .AutoField ):
320
324
# The historical model gets its own AutoField, so any
321
325
# existing one must be replaced with an IntegerField.
322
- field .__class__ = models .IntegerField
326
+ if isinstance (field , models .TextField ):
327
+ # Check if AutoField is string for django-non-rel support
328
+ field .__class__ = models .TextField
329
+ else :
330
+ field .__class__ = models .IntegerField
331
+
323
332
elif isinstance (field , models .FileField ):
324
333
# Don't copy file, just path.
325
334
field .__class__ = models .TextField
0 commit comments