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:
Adrian Holovaty 2005-12-09 01:46:14 +00:00
parent 4aedb7386a
commit 36f1aef5ff
1 changed files with 5 additions and 5 deletions

View File

@ -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):