  
          # Delete a Category object *after* the ModelChoiceField has already been
          # instantiated. This proves clean() checks the database during clean() rather
          # than caching it at time of instantiation.
          Category.objects.get(url='5th').delete()
          with self.assertRaises(ValidationError):
              f.clean(c5.id)
  
          f = forms.ModelChoiceField(Category.objects.filter(pk=c1.id), required=False)
          self.assertEqual(f.clean(''), None)
 
</s> remove         c5 = Category.objects.create(name='Fifth', url='5th')
        self.assertEqual(c5.name, 'Fifth')
        self.assertEqual(f.clean(c5.id).name, 'Fifth')
 </s> add         c4 = Category.objects.create(name='Fourth', url='4th')
        self.assertEqual(f.clean(c4.id).name, 'Fourth') </s> remove             f.clean(c5.id)
 </s> add             f.clean(c4.id) </s> remove         self.assertEqual(f.clean(c3.id).name, 'Third')
        self.assertEqual(f.clean(c2.id).name, "It's a test")
 </s> add         self.assertEqual(f.clean(self.c2.id).name, "It's a test")
        self.assertEqual(f.clean(self.c3.id).name, 'Third') </s> remove         self.assertEqual(c6.name, 'Sixth')
 </s> add  </s> remove         # a number that is will not conflict.
 </s> add         # a number that will not conflict.
        Category.objects.get(url='4th').delete()
  
          # Delete a Category object *after* the ModelChoiceField has already been
          # instantiated. This proves clean() checks the database during clean() rather
          # than caching it at time of instantiation.
        Category.objects.get(url='4th').delete()
          with self.assertRaises(ValidationError):
              f.clean(c5.id)
  
          f = forms.ModelChoiceField(Category.objects.filter(pk=c1.id), required=False)
          self.assertEqual(f.clean(''), None)
keep keep keep keep replace keep keep keep keep keep
 Fixed #6103 -- Splitted tests in model_forms tests 
tests/model_forms/tests.py