mirror of
				https://github.com/django/django.git
				synced 2025-11-03 21:25:09 +00:00 
			
		
		
		
	Fixed #18839 - Field.__init__() now calls super().
This commit is contained in:
		
							parent
							
								
									0ff12c28d0
								
							
						
					
					
						commit
						aaec4f2bd8
					
				
					 3 changed files with 19 additions and 0 deletions
				
			
		| 
						 | 
					@ -120,6 +120,7 @@ class Field(object):
 | 
				
			||||||
        self.error_messages = messages
 | 
					        self.error_messages = messages
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.validators = self.default_validators + validators
 | 
					        self.validators = self.default_validators + validators
 | 
				
			||||||
 | 
					        super(Field, self).__init__()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def prepare_value(self, value):
 | 
					    def prepare_value(self, value):
 | 
				
			||||||
        return value
 | 
					        return value
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -163,6 +163,10 @@ Minor features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* The :djadmin:`diffsettings` comand gained a ``--all`` option.
 | 
					* The :djadmin:`diffsettings` comand gained a ``--all`` option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* :func:`django.forms.fields.Field.__init__` now calls ``super()``, allowing
 | 
				
			||||||
 | 
					  field mixins to implement ``__init__()`` methods that will reliably be
 | 
				
			||||||
 | 
					  called.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Backwards incompatible changes in 1.6
 | 
					Backwards incompatible changes in 1.6
 | 
				
			||||||
=====================================
 | 
					=====================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -63,6 +63,20 @@ class FieldsTests(SimpleTestCase):
 | 
				
			||||||
        self.assertTrue(Field(required=True).widget.is_required)
 | 
					        self.assertTrue(Field(required=True).widget.is_required)
 | 
				
			||||||
        self.assertFalse(Field(required=False).widget.is_required)
 | 
					        self.assertFalse(Field(required=False).widget.is_required)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_cooperative_multiple_inheritance(self):
 | 
				
			||||||
 | 
					        class A(object):
 | 
				
			||||||
 | 
					            def __init__(self):
 | 
				
			||||||
 | 
					                self.class_a_var = True
 | 
				
			||||||
 | 
					                super(A, self).__init__()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        class ComplexField(Field, A):
 | 
				
			||||||
 | 
					            def __init__(self):
 | 
				
			||||||
 | 
					                super(ComplexField, self).__init__()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        f = ComplexField()
 | 
				
			||||||
 | 
					        self.assertTrue(f.class_a_var)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # CharField ###################################################################
 | 
					    # CharField ###################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_charfield_1(self):
 | 
					    def test_charfield_1(self):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue