|
@@ -844,6 +844,26 @@ class ChangeListTests(TestCase):
|
|
|
queryset = m._get_list_editable_queryset(request, prefix='form')
|
|
|
self.assertEqual(queryset.count(), 2)
|
|
|
|
|
|
+ def test_get_list_editable_queryset_with_regex_chars_in_prefix(self):
|
|
|
+ a = Swallow.objects.create(origin='Swallow A', load=4, speed=1)
|
|
|
+ Swallow.objects.create(origin='Swallow B', load=2, speed=2)
|
|
|
+ data = {
|
|
|
+ 'form$-TOTAL_FORMS': '2',
|
|
|
+ 'form$-INITIAL_FORMS': '2',
|
|
|
+ 'form$-MIN_NUM_FORMS': '0',
|
|
|
+ 'form$-MAX_NUM_FORMS': '1000',
|
|
|
+ 'form$-0-uuid': str(a.pk),
|
|
|
+ 'form$-0-load': '10',
|
|
|
+ '_save': 'Save',
|
|
|
+ }
|
|
|
+ superuser = self._create_superuser('superuser')
|
|
|
+ self.client.force_login(superuser)
|
|
|
+ changelist_url = reverse('admin:admin_changelist_swallow_changelist')
|
|
|
+ m = SwallowAdmin(Swallow, custom_site)
|
|
|
+ request = self.factory.post(changelist_url, data=data)
|
|
|
+ queryset = m._get_list_editable_queryset(request, prefix='form$')
|
|
|
+ self.assertEqual(queryset.count(), 1)
|
|
|
+
|
|
|
def test_changelist_view_list_editable_changed_objects_uses_filter(self):
|
|
|
"""list_editable edits use a filtered queryset to limit memory usage."""
|
|
|
a = Swallow.objects.create(origin='Swallow A', load=4, speed=1)
|