2015-10-29 4 views
0

я следующие модели в моделимигрирует показывает ошибку проверки при добавлении DATETIME поле в Джанго 1,8

class UserTripbook(models.Model): 
    user = models.ForeignKey(settings.AUTH_USER_MODEL) 
    country = models.CharField(max_length = 50) 
    state = models.CharField(max_length = 50) 
    social_status = models.CharField(max_length = 50) 
    place_name = models.CharField(max_length = 150) 
    tripped_with = models.CharField(max_length = 50) 
    tripped_by = models.CharField(max_length = 50) 
    image_url = models.ImageField(upload_to = upload_path, max_length = 300, blank = True, null = True) 
    image = models.CharField(max_length = 200, blank = True, null = True) 
    experience = models.CharField(max_length = 50) 
    rating = models.CharField(max_length = 50) 

Это работает отлично, и я создал несколько записей, также в базе данных, используя мое приложение, но теперь, когда я добавить

created = models.DateTimeField(auto_now_add = True) 

в моей модели и запустить makemigrations, он работает, но после того, что, когда я запускаю команду переноса, он бросает исключение проверки: django.core.exceptions.ValidationError: [и "значение„NULL“имеет недопустимый формат даты. Он должен быть в форме ГГГГ-ММ-ДД t. "]

Я пробовал django.utils.timezone.now и datetime.now также по умолчанию, но такую ​​же ошибку. Тогда я подумал, может быть, это потому, что у меня уже есть некоторые данные в моей базе данных, поэтому я удалил все строки из базы данных вручную и выполнил миграцию и выполнил миграцию, но все равно такую ​​же ошибку. Я думаю, что это не модель, но для ее решения требуется некоторая настройка, но не уверен. Просто FYI, я добавил DATETIME_FORMAT = '% Y-% m-% d% H:% M:% S' также в файле настроек. Пожалуйста, помогите мне решить эту проблему.

+0

Я столкнулся с этой проблемой, даже когда я удаляю этот «созданный» столбец и выполняю миграцию – Raakesh

ответ

0

Ваша дата поле имеет нулевые значения, вы можете избежать ошибок, выполнив:

created = models.DateTimeField(auto_now_add = True, null=True) 

Это позволит Null значения в DateTimeField. Вы можете перезаписать пустые значения вручную позже.