我在Django 1.4.5上使用SQLite
模型:
class Score(models.Model):
exam_date = models.DateField()
形式:
class ScoreForm(forms.ModelForm):
class Meta:
model = Score
def __init__(self, *args, **kwargs):
super(ScoreForm, self).__init__(*args, **kwargs)
self.fields['exam_date'].widget = forms.DateInput(format='%d-%m-%Y')
self.fields['exam_date'].initial = datetime.date.today()
self.fields['exam_date'].input_formats = ['%d-%m-%Y']
表单正确验证字段。但是这个领域没有得到保存!!
我在命令行上尝试了一些摘录。实际上在模型级别似乎存在问题。
我的执行代码:
>>> o = Score(exam_date = datetime.date.today())
>>> o.save()
>>> type(Score.objects.get(pk=).exam_date)
>>> NoneType
答案 0 :(得分:0)
在我看来,表单和模型的代码很好。但是你的执行代码有问题。在您的示例中,没有为您的pk提供的整数分数查询:
>>> o = Score(exam_date = datetime.date.today())
>>> o.save()
>>> type(Score.objects.get(pk=1).exam_date)
>>> <type 'datetime.date'>
给pk属性一些Integer,将返回&#39; datetime.date&#39;为你输入。 如果它只是问题的错误,请告诉我们!