mirror of
				https://github.com/django/django.git
				synced 2025-10-30 17:16:10 +00:00 
			
		
		
		
	Fixed #22906 -- Added a more helpful repr to migrations' ModelState.
Thanks Collin Anderson for the report and original patch.
This commit is contained in:
		| @@ -300,6 +300,9 @@ class ModelState(object): | ||||
|                 return field | ||||
|         raise ValueError("No field called %s on model %s" % (name, self.name)) | ||||
|  | ||||
|     def __repr__(self): | ||||
|         return "<ModelState: '%s.%s'>" % (self.app_label, self.name) | ||||
|  | ||||
|     def __eq__(self, other): | ||||
|         return ( | ||||
|             (self.app_label == other.app_label) and | ||||
|   | ||||
| @@ -420,3 +420,13 @@ class ModelStateTests(TestCase): | ||||
|         state = ModelState('app', 'Model', [('name', field)]) | ||||
|         Model = state.render(apps) | ||||
|         self.assertNotEqual(Model._meta.get_field('name'), field) | ||||
|  | ||||
|     def test_repr(self): | ||||
|         field = models.CharField(max_length=1) | ||||
|         state = ModelState('app', 'Model', [('name', field)], bases=['app.A', 'app.B', 'app.C']) | ||||
|         self.assertEqual(repr(state), "<ModelState: 'app.Model'>") | ||||
|  | ||||
|         project_state = ProjectState() | ||||
|         project_state.add_model_state(state) | ||||
|         with self.assertRaisesMessage(InvalidBasesError, "Cannot resolve bases for [<ModelState: 'app.Model'>]"): | ||||
|             project_state.render() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user