DateField不存储在Django中

时间:2014-11-15 08:16:00

标签: python django

我在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

1 个答案:

答案 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;为你输入。 如果它只是问题的错误,请告诉我们!