2017-08-16 3 views
1

xmlファイルを読み込んでデータベースを作成するスクリプトを作成しました。私はそれをローカルで実行すると問題なく動作します。しかし、私はHerokuの上でそれを実行したときに、それが通過し、一部のデータ(正確に6オブジェクト)を移入したが、その後、このエラーがスローされます。Django Heroku DataErrorを使用してデータベースからスクリプトを作成する

skripta_vnos.pyは私の移入スクリプトです私は

Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
    File "/app/skripta_vnos.py", line 97, in <module> 
    dob.save() 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/base.py", line 806, in save 
    force_update=force_update, update_fields=update_fields) 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/base.py", line 836, in save_base 
    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields) 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/base.py", line 922, in _save_table 
    result = self._do_insert(cls._base_manager, using, fields, update_pk, raw) 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/base.py", line 961, in _do_insert 
    using=using, raw=raw) 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/manager.py", line 85, in manager_method 
    return getattr(self.get_queryset(), name)(*args, **kwargs) 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/query.py", line 1063, in _insert 
    return query.get_compiler(using=using).execute_sql(return_id) 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 1099, in execute_sql 
    cursor.execute(sql, params) 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/db/backends/utils.py", line 80, in execute 
    return super(CursorDebugWrapper, self).execute(sql, params) 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/db/backends/utils.py", line 65, in execute 
    return self.cursor.execute(sql, params) 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__ 
    six.reraise(dj_exc_type, dj_exc_value, traceback) 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/db/backends/utils.py", line 65, in execute 
    return self.cursor.execute(sql, params) 
DataError: value too long for type character varying(100) 

シェルでそれを実行する私のモデルのルックス

class Supply(models.Model): 
    name = models.CharField(max_length=255) 
    maticna = models.CharField(max_length=255) 
    organ = models.CharField(max_length=255, null=True, blank=True) 
    pos = models.CharField(max_length=255, null=True, blank=True) 
    city = models.CharField(max_length=255, null=True, blank=True) 
    postn= models.CharField(max_length=255, null=True, blank=True) 
    hisna = models.CharField(max_length=255, null=True, blank=True) 

    email = models.CharField(max_length=255, null=True, blank=True) 

    def __str__(self): 
     return self.name.encode("utf-8") 

    def get_absolute_url(self): 
     return reverse('supply-detail', args=[str(self.id)]) 
+0

しばらく前にモデルを変更しましたか? –

答えて

0

shlomta1と同様に、あなたの文字列は最大長よりも大きいと言われています。 heroku run python manage.py migrateを実行して、それらの最大長をあなたのherokuデータベースにも適用するようにしてください

1

文字列の1つが最大長を超えているため、このエラーが発生します。 ローカルで作業している場合、おそらく最大長が変更され、Heroku上で変更が移行されませんでした。

関連する問題