django - Django 管理员:postgres DateTimeRangeField 未正确显示
问题描述
我的一些模型具有特定于 postgres 的django.contrib.postgres.fields.DateTimeRangeField
s,并且这些字段在相应的管理面板中公开。我预计范围表单将包含两个 Django 样式的日期时间选择器,一个单独的用于日期部分,一个单独的部分用于时间部分(就像DateTimeField
会一样)。但是,我得到两个文本输入,它们期望以非常特殊的格式输入。我有什么遗漏或必须单独配置吗?
相关代码为:
from django.contrib.postgres.fields import DateTimeRangeField
...
class MyModel(models.Model):
time_off = DateTimeRangeField()
行政:
@register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
pass
解决方案
您正在寻找SplitDateTimeWidget。
只需将管理部分更改为:
class MyModelAdminForm(forms.ModelForm):
class Meta:
model = MyModel
widgets = {
'time_off': RangeWidget(SplitDateTimeWidget())
}
@register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
form = MyModelAdminForm
或根据formfield_overrides
需要使用覆盖小部件。
推荐阅读
- javascript - 当我将 Tableau 示例中的 URL 更改为另一个 URL 时,为什么我的代码会中断?
- prometheus-operator - 如何在服务监视器中设置标签,使其出现在 Prometheus 指标中?
- java - 创建 Google Java Checkstyle XML 文件的自定义版本
- css - 将 React-Bootstrap xs,sm,md,lg,xl 跨度/偏移量保存到 css 类中
- javascript - 如何使用 reduce 计算对象中值的总和
- pandas - Pandas 对除选定行之外的所有行进行分组
- php - php页面自己工作,但我无法动态获取带有ajax的php页面结果
- verilog - 如何在 Verilog 中检查一个模块中的值与另一个模块中的值
- android - 我对 Firebase 规则感到困惑
- apache-nifi - 将本地 NIFI 和 NIFI 云站点连接到站点