【发布时间】:2016-11-23 02:08:32
【问题描述】:
DateRangeField 使用 Forms 插入数据库时遇到问题。
model.py
from django.contrib.postgres.fields import DateRangeField
from django.db import models
class Event(models.Model):
name = models.CharField(max_length=200)
datefromto = DateRangeField()
views.py
date_from = '2011-01-01'
date_to = '2011-01-31'
data = {
"name" : "Test Name",
"datefromto" : [date_from,date_to ]
}
form = Event_form(data)
if form.is_valid():
form.save()
else:
print(form.errors)
forms.py
class Event_form(forms.ModelForm):
class Meta:
model = Event
fields = ('name','datefromto')
def clean(self):
print(self.cleaned_data)
#{"name" : "Test Name"} there should be 'datefromto' key
当我调用 form.is_valid() 时,它返回 "datefromto is required" 它不应该是这样的,因为字典中有一个 'datefromto'。当我尝试在 form clean 函数中打印 clean_data 时,它只打印 {"name" : "Test Name"} 而没有 datefromto 键。
Django 1.9、Python 2.7 和 Postgre 9.3.14。
【问题讨论】:
标签: python django postgresql