#35628: date_hierarchy doesn't support GenerateField with output_field set to
DateTimeField or DateField
-----------------------------+-----------------------------------------
Reporter: john-parton | Type: Bug
Status: new | Component: contrib.admin
Version: 5.0 | Severity: Normal
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------+-----------------------------------------
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.
--
Ticket URL: <
https://code.djangoproject.com/ticket/35628>
Django <
https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.