0
我使用Django 1.6.2 + ORACLE 12 + cx_oracle 5.1.2甲骨文+ Django的+ bulk_create +長文本
這裏是我的模型
class Value(models.Model):
text= models.TextField()
我有一些文字,它的長度是在俄語3000個字符,當IM特林做到這一點:
text = 'some text' #3000 characters
v = Value(text=text)
v.save()
它的確定...
但是當我這樣做:
text = 'some text' #3000 characters
v = Value(text=text)
Value.objects.bulk_create([v])
我得到這個異常:
環境:
Request Method: GET
Request URL: http://127.0.0.1/test/
Django Version: 1.6.2
Python Version: 3.3.4
Installed Applications:
('django.contrib.admin',
'haystack',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'registration',
'modeltranslation',
'south',
'core',
'appl',
'legacy_data',
'djcelery')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'tpp.SiteUrlMiddleWare.SiteUrlMiddleWare',
'tpp.SiteUrlMiddleWare.GlobalRequest')
Traceback:
File "C:\Python33\lib\site-packages\django\core\handlers\base.py" in get_response
114. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\user\PycharmProjects\tpp\tppcenter\views.py" in test
374. Value.objects.bulk_create([v])
File "C:\Python33\lib\site-packages\django\db\models\manager.py" in bulk_create
160. return self.get_queryset().bulk_create(*args, **kwargs)
File "C:\Python33\lib\site-packages\django\db\models\query.py" in bulk_create
356. self._batched_insert(objs_without_pk, fields, batch_size)
File "C:\Python33\lib\site-packages\django\db\models\query.py" in _batched_insert
835. using=self.db)
File "C:\Python33\lib\site-packages\django\db\models\manager.py" in _insert
232. return insert_query(self.model, objs, fields, **kwargs)
File "C:\Python33\lib\site-packages\django\db\models\query.py" in insert_query
1511. return query.get_compiler(using=using).execute_sql(return_id)
File "C:\Python33\lib\site-packages\django\db\models\sql\compiler.py" in execute_sql
899. cursor.execute(sql, params)
File "C:\Python33\lib\site-packages\django\db\backends\util.py" in execute
69. return super(CursorDebugWrapper, self).execute(sql, params)
File "C:\Python33\lib\site-packages\django\db\backends\util.py" in execute
53. return self.cursor.execute(sql, params)
File "C:\Python33\lib\site-packages\django\db\utils.py" in __exit__
99. six.reraise(dj_exc_type, dj_exc_value, traceback)
File "C:\Python33\lib\site-packages\django\utils\six.py" in reraise
535. raise value.with_traceback(tb)
File "C:\Python33\lib\site-packages\django\db\backends\util.py" in execute
53. return self.cursor.execute(sql, params)
File "C:\Python33\lib\site-packages\django\db\backends\oracle\base.py" in execute
815. return self.cursor.execute(query, self._param_generator(params))
Exception Type: DatabaseError at /test/
Exception Value: ORA-01461: can bind a LONG value only for insert into a LONG column
但對英文字符是確定...