2016-05-06 4 views
0

私はreciveエラー:ベース10とのint()のための 無効なリテラル: 'エラー:ベース10とのint()のための無効なリテラルは、: ''

' 私は、オブジェクトを追加しようとしているとき私のモデル(テーブル)に。シェルでもやってみましたが、同じ状況です。私は私のモデルとすべてのフィールドをチェックし、私はPositiveIntegerFieldとそのeverythingであるオプションのフィールドしか持っていません。

マイモデル:

class Client(models.Model): 
    id = models.OneToOneField(User, on_delete=models.CASCADE, unique=True, primary_key=True) 
    uuid = models.UUIDField(default=uuid.uuid4, editable=False) 
    name = models.CharField(max_length=256, unique=True) 
    vat = models.CharField(max_length=50, blank=True, null=True, unique=True) 
    regon = models.PositiveIntegerField(blank=True, null=True, default='') 
    krs = models.PositiveIntegerField(blank=True, null=True, default='') 
    address = models.CharField(max_length=64) 
    zip_code = models.CharField(max_length=10) 
    city = models.CharField(max_length=64) 
    country = models.ForeignKey(CountriesChoices, blank=False) 
    service = models.ForeignKey(ClientServiceChoices, blank=False, null=False) 
    modified_date = models.DateTimeField(auto_now=True, blank=True, editable=False) 
    created_date = models.DateTimeField(auto_now_add=True, blank=True, editable=False) 

そして、私のトレースバック:

Environment: 

Django Version: 1.8.8 
Python Version: 3.5.1 
Installed Applications: 
('django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'core', 
'api', 
'client', 
'registration', 
'avatar', 
'filer', 
'mptt', 
'easy_thumbnails', 
'reversion', 
'reportlab', 
'mail_templated', 
) 
Installed Middleware: 
('django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.common.CommonMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'django.middleware.clickjacking.XFrameOptionsMiddleware', 
'django.middleware.security.SecurityMiddleware') 


Traceback: 
File "C:\Users\loc\dJangoEnvironment\lib\site-packages\django\core\handlers\base.py" in get_response 
    132.      response = wrapped_callback(request, *callback_args, **callback_kwargs) 
File "C:\Users\loc\PycharmProjects\project\api\views.py" in import_data 
    505.     client.save() 
File "C:\Users\loc\dJangoEnvironment\lib\site-packages\django\db\models\base.py" in save 
    734.      force_update=force_update, update_fields=update_fields) 
File "C:\Users\loc\dJangoEnvironment\lib\site-packages\django\db\models\base.py" in save_base 
    762.    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields) 
File "C:\Users\loc\dJangoEnvironment\lib\site-packages\django\db\models\base.py" in _save_table 
    827.          forced_update) 
File "C:\Users\loc\dJangoEnvironment\lib\site-packages\django\db\models\base.py" in _do_update 
    877.   return filtered._update(values) > 0 
File "C:\Users\loc\dJangoEnvironment\lib\site-packages\django\db\models\query.py" in _update 
    580.   return query.get_compiler(self.db).execute_sql(CURSOR) 
File "C:\Users\loc\dJangoEnvironment\lib\site-packages\django\db\models\sql\compiler.py" in execute_sql 
    1062.   cursor = super(SQLUpdateCompiler, self).execute_sql(result_type) 
File "C:\Users\loc\dJangoEnvironment\lib\site-packages\django\db\models\sql\compiler.py" in execute_sql 
    829.    sql, params = self.as_sql() 
File "C:\Users\loc\dJangoEnvironment\lib\site-packages\django\db\models\sql\compiler.py" in as_sql 
    1030.     val = field.get_db_prep_save(val, connection=self.connection) 
File "C:\Users\loc\dJangoEnvironment\lib\site-packages\django\db\models\fields\__init__.py" in get_db_prep_save 
    710.          prepared=False) 
File "C:\Users\loc\dJangoEnvironment\lib\site-packages\django\db\models\fields\__init__.py" in get_db_prep_value 
    702.    value = self.get_prep_value(value) 
File "C:\Users\loc\dJangoEnvironment\lib\site-packages\django\db\models\fields\__init__.py" in get_prep_value 
    1868.   return int(value) 

Exception Type: ValueError at /api/import/ 
Exception Value: invalid literal for int() with base 10: '' 

このモデルは、この場合にフォームを追加し、私のクライアント上で正常に動作しますが、シェル内のビューでありません作業。なぜあなたはアイデアを持っていますか?このエラーは、より多くの何も表示されませんので、それは問題だ:(

+0

どのようにデータを追加しようとしましたか? – e4c5

答えて

2

あなたdefault値は、このエラーにつながっている、ここでstringです:

regon = models.PositiveIntegerField(blank=True, null=True, default='') 
krs = models.PositiveIntegerField(blank=True, null=True, default='') 

次の文は、空の文字列を変換することはできませんので、あなたがエラーを取得していますintに:

return int(value) 

をコンソールで自分自身をテストすることができます。

>>> int('') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ValueError: invalid literal for int() with base 10: '' 
関連する問題