Fixed #927 -- Non-integer primary keys save() method now works
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1569 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
4aedb7386a
commit
36f1aef5ff
|
@ -720,9 +720,9 @@ class ForeignKey(Field):
|
||||||
|
|
||||||
def get_db_prep_save(self,value):
|
def get_db_prep_save(self,value):
|
||||||
if value == '' or value == None:
|
if value == '' or value == None:
|
||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
return int(value)
|
return self.rel.get_related_field().get_db_prep_save(value)
|
||||||
|
|
||||||
def flatten_data(self, follow, obj = None):
|
def flatten_data(self, follow, obj = None):
|
||||||
if not obj:
|
if not obj:
|
||||||
|
@ -731,9 +731,9 @@ class ForeignKey(Field):
|
||||||
# the length of choices is *2*, not 1, because SelectFields always
|
# the length of choices is *2*, not 1, because SelectFields always
|
||||||
# have an initial "blank" value.
|
# have an initial "blank" value.
|
||||||
if not self.blank and not self.rel.raw_id_admin and self.choices:
|
if not self.blank and not self.rel.raw_id_admin and self.choices:
|
||||||
choice_list = self.get_choices_default()
|
choice_list = self.get_choices_default()
|
||||||
if len(choice_list) == 2:
|
if len(choice_list) == 2:
|
||||||
return { self.attname : choice_list[1][0] }
|
return { self.attname : choice_list[1][0] }
|
||||||
return Field.flatten_data(self, follow, obj)
|
return Field.flatten_data(self, follow, obj)
|
||||||
|
|
||||||
class ManyToManyField(Field):
|
class ManyToManyField(Field):
|
||||||
|
|
Loading…
Reference in New Issue