2013-10-16 27 views
0

將我遷移OverflowError:mktime參數超出範圍申請時遷移

RuntimeWarning: DateTimeField received a naive datetime (1970-01-01 00:00:00) while time zone support is active 

Error in migration: webapp:0002_auto__add_field_quote_added_on 
OverflowError: mktime argument out of range 

應用這種遷移

import datetime 
from south.db import db 
from south.v2 import SchemaMigration 
from django.db import models 


class Migration(SchemaMigration): 

    def forwards(self, orm): 
     # Adding field 'Quote.added_on' 
     db.add_column('webapp_quote', 'added_on', 
         self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, default=datetime.datetime(1970, 1, 1, 0, 0), blank=True), 
         keep_default=False) 


    def backwards(self, orm): 
     # Deleting field 'Quote.added_on' 
     db.delete_column('webapp_quote', 'added_on') 


    models = { 
     'webapp.quote': { 
      'Meta': {'object_name': 'Quote'}, 
      'added_on': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), 
      'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 
      'quote_source': ('django.db.models.fields.CharField', [], {'max_length': '100'}), 
      'quote_text': ('django.db.models.fields.TextField', [], {}) 
     } 
    } 

    complete_apps = ['webapp'] 

這種模式

from django.db import models 
from django.contrib.auth.models import User 


class Quote(models.Model): 
    quote_text = models.TextField() 
    quote_source = models.CharField(max_length=100) 
    added_on = models.DateTimeField(auto_now_add=True) 
    added_by = models.ForeignKey(User, default=1) 
時出現的錯誤,當我得到以下錯誤
+0

你能否看到如果從'DateTimeField'中刪除'auto_now_add'修復了什麼?如果是這樣,那麼我建議使用自定義保存方法而不是'auto_now_add'。 –

回答

0

安裝pytz解決了這個問題。

South期待Timezone知道DateTime,它只有一個天真的因爲pytz沒有安裝。