Point users to BoundField.initial instead of Form.get_initial_for_field()
Currently, the documentation points users to Form.get_initial_for_field(field, field_name)
to get the initial data for a form field. However, I think it would be better to point users to BoundField.initial
(link to code), e.g. using the pattern form[field_name].initial
. (BoundField.initial
should also be added to the BoundField attribute documentation, as it seems to have been left out.)
There are a couple reasons I think users should be steered away from get_initial_for_field()
. One reason is that BoundField'
s API is simpler because it doesn't require passing redundant field
and field_name
arguments. Another reason is that going through BoundField
has the advantage of using the BoundField
instance's cache, as initial
is a cached property. (I'm going to be filing another ticket related to the latter difference, later.)
Change History
(12)
Description: |
modified (diff)
|
Description: |
modified (diff)
|
Description: |
modified (diff)
|
Owner: |
changed from nobody to Chris Jerdonek
|
Status: |
new → assigned
|
Triage Stage: |
Unreviewed → Accepted
|
Patch needs improvement: |
set
|
Patch needs improvement: |
unset
|
Triage Stage: |
Accepted → Ready for checkin
|
Resolution: |
→ fixed
|
Status: |
assigned → closed
|
PR: https://github.com/django/django/pull/14651