代码之家  ›  专栏  ›  技术社区  ›  Andor

在管理界面上更改/调整日期小部件

  •  2
  • Andor  · 技术社区  · 17 年前

    我正在为我的新应用程序配置管理网站,发现我的设置有点问题。

    我的数据库中有一个“出生日期”字段,可以通过管理网站编辑,但是“日期”小部件并不是很方便,因为这样一来,如果我必须在小部件中输入,即01-04-1956,我将不得不翻页很多年。此外,我不希望人们只在一个编辑框中手动编写完整日期,因为使用破折号或斜线作为分隔符,或以欧洲、美国或亚洲格式引入日期时总是存在问题…

    麦基佛(我是说你)会怎么做?

    1 回复  |  直到 17 年前
        1
  •  4
  •   Van Gale    17 年前

    使用 formfield_overrides 使用其他小部件的选项。例如(未测试):

    class MyModelAdmin(admin.ModelAdmin):
        formfield_overrides = {
            models.DateField: {'widget': forms.TextInput},
        }
    

    然后您需要自己进行日期转换/验证。