Python 检索Django对象返回AttributeError:module';类型';没有属性';StringType';

Python 检索Django对象返回AttributeError:module';类型';没有属性';StringType';,python,django,python-3.x,python-3.6,django-1.11,Python,Django,Python 3.x,Python 3.6,Django 1.11,我正在尝试将我的应用程序从py2迁移到py3,在运行迁移脚本时遇到此错误。经过一些挖掘,我在执行MyModel.objects.get(id=) 现在,我知道StrginType在python3中已经过时了,我删除了脚本中的所有basestring并替换为string(不确定是否相关),但我不确定这个错误是在哪里触发的。我正在运行Django 1.11,因此它应该是兼容的 似乎是关于Django的事,但我不知道是什么。我查了django医生什么也没找到 以前通过django检索对象时,有人遇到过

我正在尝试将我的应用程序从py2迁移到py3,在运行迁移脚本时遇到此错误。经过一些挖掘,我在执行
MyModel.objects.get(id=)

现在,我知道
StrginType
在python3中已经过时了,我删除了脚本中的所有
basestring
并替换为
string
(不确定是否相关),但我不确定这个错误是在哪里触发的。我正在运行Django 1.11,因此它应该是兼容的

似乎是关于Django的事,但我不知道是什么。我查了django医生什么也没找到

以前通过django检索对象时,有人遇到过相同的错误吗

编辑:

完全回溯

Traceback (most recent call last):
  File "manage.py", line 45, in <module>
    main()
  File "manage.py", line 41, in main
    execute_from_command_line(sys.argv)
  File "<some_domain>/lib/python3.6/site-packages/django/core/management/__init__.py", line 363, in execute_from_command_line
    utility.execute()
  File "<some_domain>/lib/python3.6/site-packages/django/core/management/__init__.py", line 355, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "<some_domain>/lib/python3.6/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "<some_domain>/lib/python3.6/site-packages/django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "<some_domain>/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 204, in handle
    fake_initial=fake_initial,
  File "<some_domain>/lib/python3.6/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 "<some_domain>/lib/python3.6/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 "<some_domain>/lib/python3.6/site-packages/django/db/migrations/executor.py", line 244, in apply_migration
    state = migration.apply(state, schema_editor)
  File "<some_domain>/lib/python3.6/site-packages/django/db/migrations/migration.py", line 129, in apply
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
  File "<some_domain>/lib/python3.6/site-packages/django/db/migrations/operations/special.py", line 193, in database_forwards
    self.code(from_state.apps, schema_editor)
  File "<some_domain>/<path_to_migration>/migrations/<migration file>.py", line 10, in <some module>
    <some model name> = apps.get_model(<someapp>, <some_model>)
  File "<some_domain>/lib/python3.6/site-packages/django/db/models/query.py", line 250, in __iter__
    self._fetch_all()
  File "<some_domain>/lib/python3.6/site-packages/django/db/models/query.py", line 1102, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "<some_domain>/lib/python3.6/site-packages/django/db/models/query.py", line 62, in __iter__
    for row in compiler.results_iter(results):
  File "<some_domain>/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 834, in results_iter
    row = self.apply_converters(row, converters)
  File "<some_domain>/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 819, in apply_converters
    value = converter(value, expression, self.connection, self.query.context)
  File "<some_domain>/lib/python3.6/site-packages/encrypted_fields/fields.py", line 160, in from_db_value
    return self.to_python(value)
  File "<some_domain>/lib/python3.6/site-packages/encrypted_fields/fields.py", line 163, in to_python
    if value is None or not isinstance(value, types.StringTypes):
AttributeError: module 'types' has no attribute 'StringTypes'
回溯(最近一次呼叫最后一次):
文件“manage.py”,第45行,在
main()
文件“manage.py”,第41行,主
从命令行(sys.argv)执行命令
文件“/lib/python3.6/site packages/django/core/management/_init__.py”,第363行,从命令行执行
utility.execute()
文件“/lib/python3.6/site packages/django/core/management/_init__.py”,第355行,在execute中
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/lib/python3.6/site-packages/django/core/management/base.py”,第283行,运行于_argv
self.execute(*args,**cmd_选项)
文件“/lib/python3.6/site packages/django/core/management/base.py”,第330行,执行
输出=self.handle(*args,**选项)
handle中的文件“/lib/python3.6/site packages/django/core/management/commands/migrate.py”,第204行
假首字母=假首字母,
文件“/lib/python3.6/site packages/django/db/migrations/executor.py”,在migrate中的第115行
状态=self.\u迁移\u所有\u转发(状态,计划,完整计划,假=假,假首字母=假首字母)
文件“/lib/python3.6/site packages/django/db/migrations/executor.py”,第145行,全部向前迁移
state=self.apply\u迁移(state,migration,false=false,false\u initial=false\u initial)
文件“/lib/python3.6/site packages/django/db/migrations/executor.py”,第244行,在apply\u migration中
state=migration.apply(状态,模式编辑器)
文件“/lib/python3.6/site packages/django/db/migrations/migration.py”,第129行,在apply中
操作。数据库转发(self.app\u标签、模式编辑器、旧状态、项目状态)
数据库中的文件“/lib/python3.6/site packages/django/db/migrations/operations/special.py”,第193行
self.code(来自_state.apps,模式编辑器)
文件“//migrations/.py”,第10行,在
=应用程序。获取_模型(,)
文件“/lib/python3.6/site packages/django/db/models/query.py”,第250行,在__
self._fetch_all()
文件“/lib/python3.6/site packages/django/db/models/query.py”,第1102行,在“fetch\u all”中
self.\u result\u cache=list(self.\u iterable\u class(self))
文件“/lib/python3.6/site packages/django/db/models/query.py”,第62行,在__
对于编译器中的行。结果\u iter(结果):
文件“/lib/python3.6/site packages/django/db/models/sql/compiler.py”,第834行,在results\u iter中
行=自身。应用转换器(行,转换器)
apply\u转换器中的文件“/lib/python3.6/site packages/django/db/models/sql/compiler.py”,第819行
value=converter(值、表达式、self.connection、self.query.context)
文件“/lib/python3.6/site packages/encrypted_fields/fields.py”,第160行,from_db_值
返回self.to_python(值)
文件“/lib/python3.6/site packages/encrypted_fields/fields.py”,第163行,在to_python中
如果值为None或not isinstance(值、类型、StringTypes):
AttributeError:模块“types”没有属性“StringTypes”
您使用的库“加密字段”与Python 3不兼容。从该项目的回购协议来看,它已经三年多没有更新过了,因此似乎被放弃了

有几种选择——谷歌快速找到可能适合您的库。

您使用的是一个与Python 3不兼容的库“加密字段”。从该项目的回购协议来看,它已经三年多没有更新过了,因此似乎被放弃了


有几种选择——谷歌可以快速找到适合您的方法。

如果没有更多的代码,很难为您提供帮助。或者更好的是,您可以共享github回购协议(提供有关您的问题的更多详细信息),请显示完整的回溯。@CalebGoodman抱歉。请查收edit@DanielRoseman很抱歉请检查EDIT,查看回溯的最后几行。如果值为None或not isinstance(value,types.StringTypes),则python中的
加密字段
包:
文件/lib/python3.6/site packages/encrypted\u fields/fields.py”第163行出现异常。如果这是您自己的代码,现在您知道在哪里修复它了。如果它不是你的代码,你必须向它的作者提交一份bug报告。如果没有更多的代码,真的很难帮助你。或者更好的是,您可以共享github回购协议(提供有关您的问题的更多详细信息),请显示完整的回溯。@CalebGoodman抱歉。请查收edit@DanielRoseman很抱歉请检查EDIT,查看回溯的最后几行。如果值为None或not isinstance(value,types.StringTypes),则python中的
加密字段
包:
文件/lib/python3.6/site packages/encrypted\u fields/fields.py”第163行出现异常。如果这是您自己的代码,现在您知道在哪里修复它了。如果它不是你的代码,你必须向它的作者提交一份bug报告。谢谢。我在site包中手动更改脚本,只是为了查看它是否运行,它确实运行了。我确实想找到一个新的和管理的软件包,谢谢。我在site包中手动更改脚本,只是为了查看它是否运行,它确实运行了。不过,我确实想找到一个新的托管包