#14355 closed (fixed)
"readonly" fields don't display their "help_text" in admin
Reported by: | jester | Owned by: | wamberg |
---|---|---|---|
Component: | contrib.admin | Version: | 1.2 |
Severity: | Keywords: | readonly help_text | |
Cc: | Triage Stage: | Ready for checkin | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Steps to reproduce
- Define a Model, whose field(s) specify
help_text
, e.g.:
class MyModel(Model): my_regular_field = CharField(max_length=255, help_text="this is my regular field") my_readonly_field = CharField(max_length=255, help_text="this is my readonly field")
- Define a ModelAdmin for your Model, including one of its fields in
readonly_fields
, e.g.:
class MyModelAdmin(ModelAdmin): fields = 'my_regular_field', 'my_readonly_field' readonly_fields = 'my_readonly_field', admin.site.register(MyModel, MyModelAdmin)
In the object view/edit screen, "My regular field" will have help text, "My readonly field" will not.
Expectation
The expected behavior is that readonly fields will work just like "regular" fields, except their widget will be their plain value rather than a form element -- i.e., any string specified as "help_text" should be displayed after the field.
Uneducated guesswork
I don't dig very deep into the workings of the admin very often, and so, obviously, what I'm about to say may be entirely unhelpful. However, it appears that helpers.AdminReadonlyField
constructs a limited, faux field object, a dict, at self.field
, rather than assign the appropriate BoundField instance. This is perhaps because readonly fields are not available to it in self.form.fields
. In the template, field.field.field.help_text
fails, as the dict does not contain "help_text", (and I'm not sure where AdminReadonlyField would get it, anyway).
Attachments (6)
Change History (15)
by , 14 years ago
Attachment: | patch.diff added |
---|
comment:1 by , 14 years ago
Has patch: | set |
---|
comment:2 by , 14 years ago
Owner: | changed from | to
---|
comment:3 by , 14 years ago
milestone: | → 1.3 |
---|---|
Needs tests: | set |
Patch needs improvement: | set |
Triage Stage: | Unreviewed → Accepted |
I confirmed that the help text is not being shown in the admin add/change form, for a read only field.
The patch attached by the reporter does not include tests for this fix, so I'm setting this bug properties accordingly.
comment:4 by , 14 years ago
Owner: | changed from | to
---|
comment:5 by , 14 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
by , 14 years ago
Attachment: | patch.5.with_test.diff added |
---|
git diff patch for help_text on readonly fields
by , 14 years ago
Attachment: | 14355_readonly_fields_help_text.diff added |
---|
comment:6 by , 14 years ago
Needs tests: | unset |
---|---|
Patch needs improvement: | unset |
Triage Stage: | Accepted → Ready for checkin |
Thank you alexbmeng, subsume and wamberg. Your latest patch looked good. I've just removed a line (self.help_text = ...
) which was unnecessary and wrote some slightly more thorough tests. I believe this is RFC now.
Added help_text to readonly admin fields