File tree Expand file tree Collapse file tree 2 files changed +17
-4
lines changed
Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Original file line number Diff line number Diff line change 11Changes
22=======
33
4+ tip (unreleased)
5+ ----------------
6+ - Fix OneToOneField transformation for historical models (gh-166)
7+
481.6.0 (2015-04-16)
59------------------
610- Add support for Django 1.8+
Original file line number Diff line number Diff line change 44import copy
55import warnings
66
7+ import django
78from django .db import models , router
89from django .db .models import loading
910from django .db .models .fields .proxy import OrderWrt
@@ -129,18 +130,26 @@ def copy_fields(self, model):
129130 field .__class__ = models .IntegerField
130131 if isinstance (field , models .ForeignKey ):
131132 old_field = field
132- field = type (field )(
133- field .rel .to ,
133+ field_arguments = {}
134+ if (getattr (old_field , 'one_to_one' , False ) or
135+ isinstance (old_field , models .OneToOneField )):
136+ FieldType = models .ForeignKey
137+ else :
138+ FieldType = type (old_field )
139+ if django .get_version () >= "1.6" :
140+ field_arguments ['db_constraint' ] = False
141+ field = FieldType (
142+ old_field .rel .to ,
134143 related_name = '+' ,
135144 null = True ,
136145 blank = True ,
137146 primary_key = False ,
138147 db_index = True ,
139148 serialize = True ,
149+ unique = False ,
150+ ** field_arguments
140151 )
141- field ._unique = False
142152 field .name = old_field .name
143- field .db_constraint = False
144153 else :
145154 transform_field (field )
146155 fields [field .name ] = field
You can’t perform that action at this time.
0 commit comments