Opened 5 months ago
Last modified 5 months ago
#35628 closed Bug
date_hierarchy doesn't support GenerateField with output_field set to DateTimeField or DateField — at Initial Version
Reported by: | john-parton | Owned by: | |
---|---|---|---|
Component: | contrib.admin | Version: | 5.0 |
Severity: | Release blocker | Keywords: | |
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
If you have a GeneratedField with output_field set to DateField or DateTimeField, you cannot use it in the admin as a date_hierarchy
because of a check. If you skip the check, it actually works just fine in my testing. I believe this the check could be adjusted to account for this.
# models.py class TestModel(models.Model): date_range = DateTimeRangeField(_("Date range")) start_date = models.GeneratedField( expression=Lower("date_range"), output_field=models.DateTimeField(), db_persist=True, ) # admin.py class TestAdmin(admin.ModelAdmin): date_hierarchy = "start_date" # Skipping checks actually makes this work exactly correctly def check(self, *args, **kwargs): return ()
I'll see if I can whip up a patch.
Note:
See TracTickets
for help on using tickets.