首页 > 解决方案 > 从 Django Admin 表单中的 DateField 中删除多余的字符

问题描述

我正在尝试将我设置的 DateField (created_at/updated_at) 设置为只读字段,我可以通过 list_display 和在 Django Admin 中添加的表单访问该字段。我设置它的方式显示为:

%09/%24/%2018

我知道它是从 settings.py 中的 DATE_FORMAT 提取的:

DATE_FORMAT = '%m/%d/%Y'

我只是还没弄清楚如何在%显示在 Admin 之前删除它。有没有办法清理这个?我已经尝试访问 created_at/updated_at 字段来编写一个算法来删除多余的字符,但似乎无法提取这些值。

如果有帮助,这是我的代码。提前致谢!

管理员.py

class BatchForm(forms.ModelForm):
    class Meta:
        model = Batch
        fields = '__all__'

class BatchAdmin(admin.ModelAdmin):
    form = BatchForm
    readonly_fields = ('created_at', 'updated_at')
    list_display = ('item', 'active',  'desc', 'quantity', 'created_at', 'updated_at')

模型.py

class Batch(models.Model):
    created_at      = models.DateField(auto_now_add=True)
    updated_at      = models.DateField(auto_now=True)

标签: pythondjangodjango-modelsdjango-formsdjango-views

解决方案


根据文档,对于 DATE_FORMAT,您不需要将%. 所以你实际上想简单地说DATE_FORMAT = 'm/d/Y'


推荐阅读