首页 > 解决方案 > 如何在 Django 管理面板的 modelAdmin 中仅显示日期时间字段中的日期?

问题描述

我有一个模型,它有一列created_at实际上是datetime这种格式的字段16.07.2019 12:26:37

我想在Django的管理面板中仅显示此字段中存在的日期created_at

我可以显示整个字段的值,datetime如果我在创建 modelAdmin 时提到'created_at'in 。list_display

我怎样才能date像这样只显示结果页面中的值16.07.2019

注册modelAdmin时是否有任何内置过滤器可以做到这一点?

Python: 3.7.3
Django: 2.1.5

标签: pythondjangodjango-modelsdjango-admindjango-admin-filters

解决方案


您可以向ModelAdmin该类添加方法。

@admin.register(YourModel)
class YourModelAdmin(admin.ModelAdmin):
    list_display = ('get_date_formatted',)

    def get_date_formatted(self, obj):
        if obj:
            return obj.date.date()
    get_date_formatted.admin_order_field = 'date'
    get_date_formatted.short_description = 'date'

推荐阅读