2012-04-17 58 views
0

由於時區問題,我最近將項目的數據庫從sqlite轉換爲postgres。轉換在我的本地開發環境中工作正常。然而,在我的生產環境上webfaction,當我嘗試使用loaddata從我的JSON文件填充數據庫,我收到以下錯誤信息:django loaddata問題postgres中的新日期時間字段

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的所有日期爲「YYYY-MM-DD HH:MM」格式?

哦 - 和PostgreSQL 8.3被釋放回在2008年你會想:

  1. 看看webfaction(託管公司?)提供一些更多的電流
  2. 閱讀release notes爲8.4版本,9.0 ,9.1,所以你有一些不同的想法。請記住,不能簡單地轉儲9.1數據庫並將其加載到8.3,儘管您應該可以轉向其他方向。

如果您的主機上無法獲得最新版本,請爲您的平臺獲取8.3的副本 - 如果您使用的是unix系統,則從源代碼編譯非常簡單。

+0

我在webfaction上遷移到了一個新的服務器上,其中第9.1頁。仍然是關於日期時間的相同錯誤消息。奇怪的是,我可以用我的開發板設置加載數據,沒有問題。相同的dumpdata json。我很難過 – mb52089 2012-04-18 14:24:40

+0

這不是PostgreSQL錯誤。嘗試打印出「壞」值 - 問題出在數據或Python的測試中。 PG9.1的好消息 - 在過去幾個版本中有很多改進。 – 2012-04-19 10:34:11

+0

我手動編輯了違規日期數據,現在就可以使用。仍然困惑爲什麼我不必爲我的PG9.1本地安裝做這件事,但必須做它的網頁製作,但哦。 – mb52089 2012-04-19 14:37:19