Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python manage.py迁移时出现类型错误_Python_Django_Oracle - Fatal编程技术网

python manage.py迁移时出现类型错误

python manage.py迁移时出现类型错误,python,django,oracle,Python,Django,Oracle,在启动项目并配置数据库之后,“python manage.py migrate”出现问题,我是否错过了任何步骤?数据库创建两个空白表:migrations,content\u type centos7.5 python 3.4 django 1.11.15 甲骨文18c > [root@localhostdjtest]#python manage.py makemigrations 未检测到任何更改 [root@localhostdjtest]#python manage.py迁移 要执行的操作

在启动项目并配置数据库之后,“
python manage.py migrate
”出现问题,我是否错过了任何步骤?数据库创建两个空白表:
migrations,content\u type

centos7.5
python 3.4
django 1.11.15
甲骨文18c

>

[root@localhostdjtest]#python manage.py makemigrations
未检测到任何更改
[root@localhostdjtest]#python manage.py迁移
要执行的操作:
应用所有迁移:管理、身份验证、内容类型、会话
运行迁移:
正在应用contenttypes.0001_首字母…回溯(最近一次调用最后一次):
文件“manage.py”,第22行,在
从命令行(sys.argv)执行命令
文件“/usr/python3/lib/python3.4/site packages/django/core/management/_init__.py”,第364行,从命令行执行
utility.execute()
文件“/usr/python3/lib/python3.4/site packages/django/core/management/_init__.py”,第356行,在execute中
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/usr/python3/lib/python3.4/site packages/django/core/management/base.py”,第283行,在运行时从
self.execute(*args,**cmd_选项)
文件“/usr/python3/lib/python3.4/site packages/django/core/management/base.py”,第330行,在execute中
输出=self.handle(*args,**选项)
handle中的文件“/usr/python3/lib/python3.4/site packages/django/core/management/commands/migrate.py”,第204行
假首字母=假首字母,
文件“/usr/python3/lib/python3.4/site packages/django/db/migrations/executor.py”,第115行,在migrate中
状态=self.\u迁移\u所有\u转发(状态,计划,完整计划,假=假,假首字母=假首字母)
文件“/usr/python3/lib/python3.4/site packages/django/db/migrations/executor.py”,第145行,全部向前迁移
state=self.apply\u迁移(state,migration,false=false,false\u initial=false\u initial)
文件“/usr/python3/lib/python3.4/site packages/django/db/migrations/executor.py”,第250行,在apply_migration中
self.recorder.record_应用(migration.app_标签,migration.name)
文件“/usr/python3/lib/python3.4/site packages/django/db/migrations/recorder.py”,第73行,记录中
self.migration\u qs.create(app=app,name=name)
文件“/usr/python3/lib/python3.4/site packages/django/db/models/query.py”,第394行,在create中
对象保存(force_insert=True,using=self.db)
文件“/usr/python3/lib/python3.4/site packages/django/db/models/base.py”,第808行,保存
强制更新=强制更新,更新字段=更新字段)
save_base中的文件“/usr/python3/lib/python3.4/site packages/django/db/models/base.py”,第838行
更新=自我。保存表格(原始、cls、强制插入、强制更新、使用、更新字段)
文件“/usr/python3/lib/python3.4/site packages/django/db/models/base.py”,第924行,在保存表格中
结果=self.\u do\u insert(cls.\u base\u manager,using,fields,update\u pk,raw)
文件“/usr/python3/lib/python3.4/site packages/django/db/models/base.py”,第963行,插入
使用=使用,原始=原始)
文件“/usr/python3/lib/python3.4/site packages/django/db/models/manager.py”,第85行,在manager\u方法中
返回getattr(self.get_queryset(),name)(*args,**kwargs)
文件“/usr/python3/lib/python3.4/site packages/django/db/models/query.py”,第1076行,插入
return query.get\u编译器(using=using).execute\u sql(return\u id)
文件“/usr/python3/lib/python3.4/site packages/django/db/models/sql/compiler.py”,第1119行,在execute_sql中
返回self.connection.ops.fetch\u返回的\u插入\u id(游标)
文件“/usr/python3/lib/python3.4/site packages/django/db/backends/oracle/operations.py”,第245行,在fetch\u returned\u insert\u id中
返回int(游标插入id变量getvalue())
TypeError:int()参数必须是字符串或数字,而不是“列表”

您遇到了一个已知的bug,该bug与
cx\u oracle
版本7有关


您需要升级到django 2.1版。

您是否尝试过在sqlite后端和
/manage.py migrate contenttypes上使用相同的命令?@dydek我过去使用mysql,效果很好。Oracle用户有什么权限?@BurhanKhalid grant dba,以及用户的所有权限您在Django 2.0中尝试过吗?非常感谢!我安装了cx_oracle 6.4.1,现在一切正常。
[root@localhost djtest]# python manage.py makemigrations

No changes detected

[root@localhost djtest]# python manage.py migrate

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 "/usr/python3/lib/python3.4/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/usr/python3/lib/python3.4/site-packages/django/core/management/__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/python3/lib/python3.4/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/python3/lib/python3.4/site-packages/django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "/usr/python3/lib/python3.4/site-packages/django/core/management/commands/migrate.py", line 204, in handle
    fake_initial=fake_initial,
  File "/usr/python3/lib/python3.4/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 "/usr/python3/lib/python3.4/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 "/usr/python3/lib/python3.4/site-packages/django/db/migrations/executor.py", line 250, in apply_migration
    self.recorder.record_applied(migration.app_label, migration.name)
  File "/usr/python3/lib/python3.4/site-packages/django/db/migrations/recorder.py", line 73, in record_applied
    self.migration_qs.create(app=app, name=name)
  File "/usr/python3/lib/python3.4/site-packages/django/db/models/query.py", line 394, in create
    obj.save(force_insert=True, using=self.db)
  File "/usr/python3/lib/python3.4/site-packages/django/db/models/base.py", line 808, in save
    force_update=force_update, update_fields=update_fields)
  File "/usr/python3/lib/python3.4/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 "/usr/python3/lib/python3.4/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 "/usr/python3/lib/python3.4/site-packages/django/db/models/base.py", line 963, in _do_insert
    using=using, raw=raw)
  File "/usr/python3/lib/python3.4/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/python3/lib/python3.4/site-packages/django/db/models/query.py", line 1076, in _insert
    return query.get_compiler(using=using).execute_sql(return_id)
  File "/usr/python3/lib/python3.4/site-packages/django/db/models/sql/compiler.py", line 1119, in execute_sql
    return self.connection.ops.fetch_returned_insert_id(cursor)
  File "/usr/python3/lib/python3.4/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'