8080 CyclicTwo ,
8181 DooHickey ,
8282 Employee ,
83- EmptyModel ,
8483 Fabric ,
8584 FancyDoodad ,
8685 FieldOverridePost ,
8988 FoodDelivery ,
9089 FunkyTag ,
9190 Gallery ,
91+ GetQuerySetModel ,
9292 Grommet ,
9393 Inquisition ,
9494 Language ,
@@ -5454,7 +5454,8 @@ def setUpTestData(cls):
54545454 cls .superuser = User .objects .create_superuser (
54555455 username = "super" , password = "secret" , email = "super@example.com"
54565456 )
5457- cls .pks = [EmptyModel .objects .create ().id for i in range (3 )]
5457+ cls .obj = GetQuerySetModel .objects .create ()
5458+ cls .deleted_obj = GetQuerySetModel .objects .create (deleted = True )
54585459
54595460 def setUp (self ):
54605461 self .client .force_login (self .superuser )
@@ -5465,12 +5466,11 @@ def setUp(self):
54655466 }
54665467
54675468 def test_changelist_view (self ):
5468- response = self .client .get (reverse ("admin:admin_views_emptymodel_changelist" ))
5469- for i in self .pks :
5470- if i > 1 :
5471- self .assertContains (response , "Primary key = %s" % i )
5472- else :
5473- self .assertNotContains (response , "Primary key = %s" % i )
5469+ # The changelist filters objects using ModelAdmin.get_queryset().
5470+ url = reverse ("admin:admin_views_getquerysetmodel_changelist" )
5471+ response = self .client .get (url )
5472+ self .assertContains (response , str (self .obj ))
5473+ self .assertNotContains (response , str (self .deleted_obj ))
54745474
54755475 def test_changelist_view_count_queries (self ):
54765476 # create 2 Person objects
@@ -5501,17 +5501,23 @@ def test_changelist_view_count_queries(self):
55015501 self .assertEqual (resp .context ["selection_note_all" ], "1 selected" )
55025502
55035503 def test_change_view (self ):
5504- for i in self .pks :
5505- url = reverse ("admin:admin_views_emptymodel_change" , args = (i ,))
5506- response = self .client .get (url , follow = True )
5507- if i > 1 :
5508- self .assertEqual (response .status_code , 200 )
5509- else :
5510- self .assertRedirects (response , reverse ("admin:index" ))
5511- self .assertEqual (
5512- [m .message for m in response .context ["messages" ]],
5513- ["empty model with ID “1” doesn’t exist. Perhaps it was deleted?" ],
5514- )
5504+ # The change view filters objects using ModelAdmin.get_queryset().
5505+ url = reverse ("admin:admin_views_getquerysetmodel_change" , args = (self .obj .pk ,))
5506+ response = self .client .get (url , follow = True )
5507+ self .assertEqual (response .status_code , 200 )
5508+ # The deleted object isn't accessible.
5509+ url = reverse (
5510+ "admin:admin_views_getquerysetmodel_change" , args = (self .deleted_obj .pk ,)
5511+ )
5512+ response = self .client .get (url , follow = True )
5513+ self .assertRedirects (response , reverse ("admin:index" ))
5514+ self .assertEqual (
5515+ [m .message for m in response .context ["messages" ]],
5516+ [
5517+ f"get query set model with ID “{ self .deleted_obj .pk } ” doesn’t "
5518+ "exist. Perhaps it was deleted?"
5519+ ],
5520+ )
55155521
55165522 def test_add_model_modeladmin_defer_qs (self ):
55175523 # Test for #14529. defer() is used in ModelAdmin.get_queryset()
0 commit comments