#29938: "int() argument must be a string or a number, not 'list'" error oracle 
12.1
python
-------------------------------------+-------------------------------------
     Reporter:  kono10               |                    Owner:  nobody
         Type:  Bug                  |                   Status:  new
    Component:  Database layer       |                  Version:  1.11
  (models, ORM)                      |
     Severity:  Normal               |               Resolution:
     Keywords:  oracle, oracle       |             Triage Stage:
  12.1, python 2.7                   |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Description changed by kono10:

Old description:

> When creating an initial migration in a new python project "python
> manage.py migrate" I get the following error int() argument must be a
> string or a number, not 'list'. I am using an oracle db version 12.1. I
> was able to fix the error by chancing line 245 in lib/python2.7/site-
> packages/django/db/backends/oracle/operations.py
>
> **from**
>
> def fetch_returned_insert_id(self, cursor):
>         return int(cursor._insert_id_var.getvalue())
>
> **to**
>
> def fetch_returned_insert_id(self, cursor):
>     return int(cursor._insert_id_var.getvalue()[0])
>

> ---- full error message
>
> Operations to perform:
>   Apply all migrations: admin, auth, contenttypes, sessions
> Running migrations:
>   Applying contenttypes.0001_initial...Traceback (most recent call last):
>   File "manage.py", line 22, in <module>
>     execute_from_command_line(sys.argv)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/core/management/__init__.py", line 364, in
> execute_from_command_line
>     utility.execute()
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/core/management/__init__.py", line 356, in execute
>     self.fetch_command(subcommand).run_from_argv(self.argv)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/core/management/base.py", line 283, in
> run_from_argv
>     self.execute(*args, **cmd_options)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/core/management/base.py", line 330, in execute
>     output = self.handle(*args, **options)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/core/management/commands/migrate.py", line 204, in
> handle
>     fake_initial=fake_initial,
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/db/migrations/executor.py", line 115, in migrate
>     state = self._migrate_all_forwards(state, plan, full_plan, fake=fake,
> fake_initial=fake_initial)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/db/migrations/executor.py", line 145, in
> _migrate_all_forwards
>     state = self.apply_migration(state, migration, fake=fake,
> fake_initial=fake_initial)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/db/migrations/executor.py", line 250, in
> apply_migration
>     self.recorder.record_applied(migration.app_label, migration.name)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/db/migrations/recorder.py", line 73, in
> record_applied
>     self.migration_qs.create(app=app, name=name)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/db/models/query.py", line 394, in create
>     obj.save(force_insert=True, using=self.db)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/db/models/base.py", line 808, in save
>     force_update=force_update, update_fields=update_fields)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/db/models/base.py", line 838, in save_base
>     updated = self._save_table(raw, cls, force_insert, force_update,
> using, update_fields)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/db/models/base.py", line 924, in _save_table
>     result = self._do_insert(cls._base_manager, using, fields, update_pk,
> raw)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/db/models/base.py", line 963, in _do_insert
>     using=using, raw=raw)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/db/models/manager.py", line 85, in manager_method
>     return getattr(self.get_queryset(), name)(*args, **kwargs)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/db/models/query.py", line 1079, in _insert
>     return query.get_compiler(using=using).execute_sql(return_id)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/db/models/sql/compiler.py", line 1119, in
> execute_sql
>     return self.connection.ops.fetch_returned_insert_id(cursor)
>   File
> "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
> /site-packages/django/db/backends/oracle/operations.py", line 245, in
> fetch_returned_insert_id
>     return int(cursor._insert_id_var.getvalue())
> TypeError: int() argument must be a string or a number, not 'list'

New description:

 When creating an initial migration in a new python project "python
 manage.py migrate" I get the following error int() argument must be a
 string or a number, not 'list'. I am using an oracle db version 12.1. I
 was able to fix the error by chancing line 245 in lib/python2.7/site-
 packages/django/db/backends/oracle/operations.py

 **from**

 def fetch_returned_insert_id(self, cursor):
         return int(cursor._insert_id_var.getvalue())

 **to**

 def fetch_returned_insert_id(self, cursor):
     return int(cursor._insert_id_var.getvalue()[0])


 ---- full error message

 **Operations to perform:
   Apply all migrations: admin, auth, contenttypes, sessions
 Running migrations:
   Applying contenttypes.0001_initial...Traceback (most recent call last):
   File "manage.py", line 22, in <module>
     execute_from_command_line(sys.argv)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/core/management/__init__.py", line 364, in
 execute_from_command_line
     utility.execute()
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/core/management/__init__.py", line 356, in execute
     self.fetch_command(subcommand).run_from_argv(self.argv)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/core/management/base.py", line 283, in run_from_argv
     self.execute(*args, **cmd_options)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/core/management/base.py", line 330, in execute
     output = self.handle(*args, **options)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/core/management/commands/migrate.py", line 204, in
 handle
     fake_initial=fake_initial,
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/db/migrations/executor.py", line 115, in migrate
     state = self._migrate_all_forwards(state, plan, full_plan, fake=fake,
 fake_initial=fake_initial)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/db/migrations/executor.py", line 145, in
 _migrate_all_forwards
     state = self.apply_migration(state, migration, fake=fake,
 fake_initial=fake_initial)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/db/migrations/executor.py", line 250, in
 apply_migration
     self.recorder.record_applied(migration.app_label, migration.name)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/db/migrations/recorder.py", line 73, in
 record_applied
     self.migration_qs.create(app=app, name=name)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/db/models/query.py", line 394, in create
     obj.save(force_insert=True, using=self.db)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/db/models/base.py", line 808, in save
     force_update=force_update, update_fields=update_fields)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/db/models/base.py", line 838, in save_base
     updated = self._save_table(raw, cls, force_insert, force_update,
 using, update_fields)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/db/models/base.py", line 924, in _save_table
     result = self._do_insert(cls._base_manager, using, fields, update_pk,
 raw)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/db/models/base.py", line 963, in _do_insert
     using=using, raw=raw)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/db/models/manager.py", line 85, in manager_method
     return getattr(self.get_queryset(), name)(*args, **kwargs)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/db/models/query.py", line 1079, in _insert
     return query.get_compiler(using=using).execute_sql(return_id)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/db/models/sql/compiler.py", line 1119, in
 execute_sql
     return self.connection.ops.fetch_returned_insert_id(cursor)
   File
 "/Users/jkonovsky/development/web_apps_main/mago_wd/magoenv/lib/python2.7
 /site-packages/django/db/backends/oracle/operations.py", line 245, in
 fetch_returned_insert_id
     return int(cursor._insert_id_var.getvalue())
 TypeError: int() argument must be a string or a number, not 'list'
 **

--

-- 
Ticket URL: <https://code.djangoproject.com/ticket/29938#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/064.a247e307d7a666695977bc41d9b54ff9%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to