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

[1.1.X] Fixed #11465: Ensure nonexistent pks enterd in an admin raw id field do not

cause a server error. Thanks for report and initial patch sacre@wp.pl. 

Backport of r12648 from trunk.


git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@12649 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Karen Tracey
2010-03-02 02:39:26 +00:00
parent 5f70a72876
commit 08a698ed46
3 changed files with 32 additions and 1 deletions

View File

@@ -130,3 +130,27 @@ class AdminForeignKeyWidgetChangeList(DjangoTestCase):
class OldAdminForeignKeyWidgetChangeList(AdminForeignKeyWidgetChangeList):
urls = 'regressiontests.admin_widgets.urls2'
admin_root = '/deep/down/admin'
class AdminForeignKeyRawIdWidget(DjangoTestCase):
fixtures = ["admin-widgets-users.xml"]
admin_root = '/widget_admin'
def setUp(self):
self.client.login(username="super", password="secret")
def tearDown(self):
self.client.logout()
def test_nonexistent_target_id(self):
band = models.Band.objects.create(name='Bogey Blues')
pk = band.pk
band.delete()
post_data = {
"band": u'%s' % pk,
}
# Try posting with a non-existent pk in a raw id field: this
# should result in an error message, not a server exception.
response = self.client.post('%s/admin_widgets/event/add/' % self.admin_root,
post_data)
self.assertContains(response,
'Select a valid choice. That choice is not one of the available choices.')