我试图在Django MechanForm表格中设置DateTimeRangeField
,但收到验证错误"此字段是必需的".Django似乎没有将psycopg2.extras.DateTimeTZRange
实例或任何日期字符串识别为有效值.
如何设置DateTimeRangeField
的值?
精简示例:
# models.py
from django.contrib.postgres.fields import DateTimeRangeField
class Reservation(models.Model):
range = DateTimeRangeField()
# forms.py
class ReservationForm(forms.ModelForm):
class Meta:
model = Reservation
exclude = []
# test.py
from psycopg2.extras import DateTimeTZRange
form = ReservationForm(data={
'range': DateTimeTZRange(
lower='2024-04-21 10:00',
upper='2024-04-21 11:00'
)
})
if form.is_valid():
form.save()
else:
print(form.errors.as_data())
输出:
{'range': [ValidationError(['This field is required.'])]}
{'range': [ValidationError(['This field is required.'])]}
{'range': [ValidationError(['This field is required.'])]}