1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Fixed #10243, #11043 -- Corrected handling of formsets over a ForeignKey that uses to_field, and by extension, fixed the admin for handling fields of that type. Thanks to apollo13 for the initial patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@10756 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee
2009-05-13 14:04:29 +00:00
parent 96b5b6b34c
commit 7215ffe8a4
4 changed files with 50 additions and 4 deletions

View File

@@ -0,0 +1,24 @@
from django.forms.models import inlineformset_factory
from django.test import TestCase
from models import User, UserSite
class InlineFormsetTests(TestCase):
def test_formset_over_to_field(self):
"A formset over a ForeignKey with a to_field can be saved. Regression for #10243"
FormSet = inlineformset_factory(User, UserSite)
user = User.objects.create(serial=1, username='apollo13')
user.save()
data = {
'usersite_set-TOTAL_FORMS': u'1',
'usersite_set-INITIAL_FORMS': u'0',
'usersite_set-0-data': u'10',
'usersite_set-0-user': u'apollo13'
}
form_set = FormSet(data, instance=user)
if form_set.is_valid():
form_set.save()
usersite = UserSite.objects.all().values()[0]
self.assertEqual(usersite, {'data': 10, 'user_id': u'apollo13', 'id': 1})
else:
self.fail('Errors found on form:%s' % form_set.errors)