#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 , 15 years ago
| Attachment: | patch.diff added |
|---|
comment:1 by , 15 years ago
| Has patch: | set |
|---|
comment:2 by , 15 years ago
| Owner: | changed from to |
|---|
comment:3 by , 15 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 , 15 years ago
| Owner: | changed from to |
|---|
comment:5 by , 15 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
by , 15 years ago
| Attachment: | patch.5.with_test.diff added |
|---|
git diff patch for help_text on readonly fields
by , 15 years ago
| Attachment: | 14355_readonly_fields_help_text.diff added |
|---|
comment:6 by , 15 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