Opened 7 hours ago
Last modified 57 minutes ago
#37168 assigned Bug
Readonly fields with db_default display DatabaseDefault representation
| Reported by: | Mariusz Felisiak | Owned by: | Mariusz Felisiak |
|---|---|---|---|
| Component: | Forms | Version: | 6.0 |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description (last modified by )
Readonly fields with db_default display DatabaseDefault() representation in the admin. For example:
models.pyclass MyModel(models.Model): uuid = models.UUIDField(db_default=UUID7(), editable=False, primary_key=True) created_datetime = models.DateTimeField(db_default=Now(), editable=False) modified_datetime = models.DateTimeField(db_default=Now(), editable=False) name = models.TextField()
admin.py
@admin.register(MyModel) class MyModelAdmin(admin.ModelAdmin): readonly_fields = ["uuid", "created_datetime", "modified_datetime"]
Attachments (1)
Change History (3)
by , 7 hours ago
| Attachment: | Screenshot_20260613_125111.png added |
|---|
comment:1 by , 6 hours ago
| Description: | modified (diff) |
|---|
Note:
See TracTickets
for help on using tickets.

We wanted to add
DatabaseDefault()to the list ofField.empty_valuesand modify its__hash__and__eq__. Unfortunately,expressionis required to initializeDatabaseDefaultand, TBH,DatabaseDefaultswith different expression should not be consider equal. I'm thinking about addingis_value_empty()hook to themodels.Field:and reusing it everywhere we currently check
if value in self.empty_values.