python_2_unicode_compatible 错误

标签 python django python-2.7 ubuntu django-models

我的 models.py 如下,

from django.contrib.auth.models import User
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
from django.utils.timezone import now

@python_2_unicode_compatible
class Tag(models.Model):
    name = models.CharField(max_length=50, unique=True)

    class Meta:
            verbose_name = 'tag'
            verbose_name_plural = 'tags'
            ordering = ['name']

    def __str__(self):
            return self.name
.............  and so on

当我运行 python manage.py syncdb 时,这是我得到的错误:

itman@itman:~/djangoApp/mysite$ python manage.py syncdb
Traceback (most recent call last): 
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 196, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 231, in execute
    self.validate()
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 266, in validate
    num_errors = get_validation_errors(s, app)
  File "/usr/lib/python2.7/dist-packages/django/core/management/validation.py", line 30, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 158, in get_app_errors
    self._populate()
  File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 67, in _populate
    self.load_app(app_name)
  File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 88, in load_app
    models = import_module('.models', app_name)
  File "/usr/lib/python2.7/dist-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/home/itman/djangoApp/mysite/bmark/models.py", line 4, in <module>
    from django.utils.encoding import python_2_unicode_compatible
ImportError: cannot import name python_2_unicode_compatible

不知道为什么没有导入模块。我正在使用 Python 2.7 和 Django 1.4。

最佳答案

最新的Django 3.0.4,和auditlog试试

from six import python_2_unicode_compatible

代替

from django.utils.six import python_2_unicode_compatible

如果没有安装运行下面的代码

pip install six

关于python_2_unicode_compatible 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20741754/

相关文章:

python-3.x - 运行时错误 : Unable to start JVM because of Deprecated: convertStrings

python - 在 Python 2.7 中打印重音字符

python - 通过 slider 更新绘图(python)

jquery - Flask URL 路由 : url_for only passes first argument

python - csv 中的双引号元素无法用 pandas 读取

python - 在波兰语中用月份名称格式化日期,在 python 中

python - 根据另一个 DataFrame 的公共(public)列过滤和替换一个 Pandas DataFrame 中的值

Django:按月计数对象

django - 基于请求命名空间解析 URL

python - 我可以将 numpy 数组作为参数传递给函数,就像变量一样吗?