mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
Fixed #3489 -- Added proper deepcopying to form fields so that widget instances get copied as well. Patch from Jonathan Buchanan and insin.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6156 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
@@ -2690,16 +2690,24 @@ to the next.
|
||||
... super(Person, self).__init__(*args, **kwargs)
|
||||
... if names_required:
|
||||
... self.fields['first_name'].required = True
|
||||
... self.fields['first_name'].widget.attrs['class'] = 'required'
|
||||
... self.fields['last_name'].required = True
|
||||
... self.fields['last_name'].widget.attrs['class'] = 'required'
|
||||
>>> f = Person(names_required=False)
|
||||
>>> f['first_name'].field.required, f['last_name'].field.required
|
||||
(False, False)
|
||||
>>> f['first_name'].field.widget.attrs, f['last_name'].field.widget.attrs
|
||||
({}, {})
|
||||
>>> f = Person(names_required=True)
|
||||
>>> f['first_name'].field.required, f['last_name'].field.required
|
||||
(True, True)
|
||||
>>> f['first_name'].field.widget.attrs, f['last_name'].field.widget.attrs
|
||||
({'class': 'required'}, {'class': 'required'})
|
||||
>>> f = Person(names_required=False)
|
||||
>>> f['first_name'].field.required, f['last_name'].field.required
|
||||
(False, False)
|
||||
>>> f['first_name'].field.widget.attrs, f['last_name'].field.widget.attrs
|
||||
({}, {})
|
||||
>>> class Person(Form):
|
||||
... first_name = CharField(max_length=30)
|
||||
... last_name = CharField(max_length=30)
|
||||
|
||||
Reference in New Issue
Block a user