Проблема с django loaddata с новым полем datetime в postgres

Я недавно преобразовал базу данных проекта из sqlite в postgres из-за проблем с часовым поясом. Преобразование работает нормально в моей локальной среде разработки. Однако, в моей производственной среде на webfaction, когда я пытаюсь использовать loaddata для заполнения базы данных из моего файла json, я получаю следующее сообщение об ошибке:

Problem installing fixture 'smartcarpools.json': Traceback (most recent call last):
  File "/home/mb52089/webapps/smartcarpools_prod/lib/python2.7/django/core/management/commands/loaddata.py", line 169, in handle
    for obj in objects:
  File "/home/mb52089/webapps/smartcarpools_prod/lib/python2.7/django/core/serializers/json.py", line 35, in Deserializer
    for obj in PythonDeserializer(simplejson.load(stream), **options):
  File "/home/mb52089/webapps/smartcarpools_prod/lib/python2.7/django/core/serializers/python.py", line 128, in Deserializer
    data[field.name] = field.to_python(field_value)
  File "/home/mb52089/webapps/smartcarpools_prod/lib/python2.7/django/db/models/fields/__init__.py", line 710, in to_python
    raise exceptions.ValidationError(self.error_messages['invalid'])
ValidationError: [u'Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format.']

Я заметил, что webfaction использует postgres 8.3, а моя локальная среда разработки использует 9.1.

Любая помощь для начинающих очень ценится. Спасибо!

1 ответ

Решение

Я не вижу ничего, упоминающего PostgreSQL в вашей ошибке. Он жалуется на отсутствие правильной даты / времени. Вы проверили, чтобы убедиться, что smarcarpools.json имеет все свои даты в формате "ГГГГ-ММ-ДД ЧЧ: ММ"?

Ох, и PostgreSQL 8.3 был выпущен еще в 2008 году. Вы захотите:

  1. Смотрите, если webfaction (хостинговая компания?) Предлагает что-то более актуальное
  2. Прочтите примечания к выпуску для версий 8.4, 9.0, 9.1, чтобы вы имели представление о том, что отличается. Имейте в виду, что вы не можете просто сбросить базу данных 9.1 и загрузить ее в 8.3, хотя вы должны иметь возможность пойти в другом направлении.

Если вы не можете получить актуальную версию на своем хосте, возьмите копию 8.3 для вашей платформы - если вы работаете в системе Unix, то компиляция из исходного кода достаточно проста.

Другие вопросы по тегам