﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
22363	User provided one-off default date and datetime are not correctly serialized	linovia	Simon Charette	"While playing with Django 1.7 I noticed there was an issue with some generated migrations.

I had a model to which I added:

{{{
some_date = models.DateField()
}}}

I ran the makemigration and it prompted me to enter a default value:
{{{
$ python manage.py makemigrations 
You are trying to add a non-nullable field 'some_date' to post without a default;
we can't do that (the database needs something to populate existing rows).
Please select a fix:
 1) Provide a one-off default now (will be set on all existing rows)
 2) Quit, and let me add a default in models.py
Select an option: 1
Please enter the default value now, as valid Python
The datetime module is available, so you can do e.g. datetime.date.today()
>>> datetime.date.today()
Migrations for 'blog':
  0006_post_some_date.py:
    - Add field some_date to post
}}}

It created the following migration:

{{{
# encoding: utf8
from django.db import models, migrations
import datetime


class Migration(migrations.Migration):

    dependencies = [
        ('blog', '0005_post_image_big'),
    ]

    operations = [
        migrations.AddField(
            model_name='post',
            name='some_date',
            field=models.DateField(default=date(2014, 3, 31)),
            preserve_default=False,
        ),
    ]
}}}

Now if you look at the default, it uses date(...) while it only imports datetime and thus will not be able to run."	Bug	closed	Migrations	1.7-beta-1	Release blocker	fixed			Ready for checkin	1	0	0	0	0	0
