Python Django:如何正确呈现DateTimeRangeField的SplitDateTimeWidget

Python Django:如何正确呈现DateTimeRangeField的SplitDateTimeWidget,python,django,django-forms,django-admin,django-widget,Python,Django,Django Forms,Django Admin,Django Widget,django的在线材料(文档、代码)(专为博士后准备的)缺乏。我试图覆盖的小部件,但无法让它显示2个漂亮的日期时间输入使用(开始日期时间,结束日期时间)为我的字段。我已经决定重写type属性并获得以下okayish输出,没有这个,它只是简单的type=“text” 当前行为: 预期行为:如下,但其中有两种 My models.py from django.db import models from django.contrib.postgres.fields import DateTimeR

django的在线材料(文档、代码)(专为博士后准备的)缺乏。我试图覆盖的小部件,但无法让它显示2个漂亮的日期时间输入使用(开始日期时间,结束日期时间)为我的字段。我已经决定重写
type
属性并获得以下okayish输出,没有这个,它只是简单的
type=“text”

当前行为:

预期行为:如下,但其中有两种

My models.py

from django.db import models
from django.contrib.postgres.fields import DateTimeRangeField

class MyModel(models.Model):
    ...
    datetimerange = DateTimeRangeField()
    ...
from django import forms
from django.contrib import admin
from django.contrib.postgres.forms.ranges import RangeWidget, DateTimeRangeField


class MyModelAdminForm(forms.ModelForm):
    class Meta:
        model = models.MyModel
        fields = "__all__"
        widgets = {
            "datetimerange": RangeWidget(
                forms.SplitDateTimeWidget(
                    date_attrs={"type": "date"}, time_attrs={"type": "time"},
                ),
            )
        }


@admin.register(models.MyModel)
class MyModelAdmin(admin.ModelAdmin):
    form = MyModelAdminForm
我的管理员py

from django.db import models
from django.contrib.postgres.fields import DateTimeRangeField

class MyModel(models.Model):
    ...
    datetimerange = DateTimeRangeField()
    ...
from django import forms
from django.contrib import admin
from django.contrib.postgres.forms.ranges import RangeWidget, DateTimeRangeField


class MyModelAdminForm(forms.ModelForm):
    class Meta:
        model = models.MyModel
        fields = "__all__"
        widgets = {
            "datetimerange": RangeWidget(
                forms.SplitDateTimeWidget(
                    date_attrs={"type": "date"}, time_attrs={"type": "time"},
                ),
            )
        }


@admin.register(models.MyModel)
class MyModelAdmin(admin.ModelAdmin):
    form = MyModelAdminForm

我尝试使用(继承)默认字段
DateTimeRangeField
,但也没有成功。

遇到同样的问题,您找到解决方案了吗?我只是得到了空标签…@ÖzerS。由于这个原因和其他原因,我最终将字段拆分为两个日期时间。但是无论如何,上面的方法仍然有效,尽管没有为from和to datetime分别设置漂亮的日期和时间字段。哈哈,我做了完全相同的,很好的开始日期和结束日期,这要容易得多。我真的尝试了很多,但是对DateTimeRangeField的支持并不存在。我认为你可以通过自定义小部件等来实现它,但最终你会得到比简单的开始/结束更多的代码。同样的问题,你找到解决方案了吗?我只是得到了空标签…@ÖzerS。由于这个原因和其他原因,我最终将字段拆分为两个日期时间。但是无论如何,上面的方法仍然有效,尽管没有为from和to datetime分别设置漂亮的日期和时间字段。哈哈,我做了完全相同的,很好的开始日期和结束日期,这要容易得多。我真的尝试了很多,但是对DateTimeRangeField的支持并不存在。我认为您可以通过自定义小部件等实现它,但最终您将拥有比简单的开始/结束更多的代码。