Django 模型翻译 - 无法导入名称 'Constraint'

Django model translation - cannot import name 'Constraint'

我想用 django-modeltranslation 翻译我的模型字段的内容。

当我 运行 其中之一:

python manage.py makemigrations
python manage.py runserver

我收到 ImportError:无法导入名称 'Constraint'

这是 'makemigrations'

的回溯
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/mat/Desktop/python/pmm/venv/lib/python3.4/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
    utility.execute()
  File "/home/mat/Desktop/python/pmm/venv/lib/python3.4/site-packages/django/core/management/__init__.py", line 324, in execute
    django.setup()
  File "/home/mat/Desktop/python/pmm/venv/lib/python3.4/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/mat/Desktop/python/pmm/venv/lib/python3.4/site-packages/django/apps/registry.py", line 115, in populate
    app_config.ready()
  File "/home/mat/Desktop/python/pmm/venv/lib/python3.4/site-packages/django/contrib/admin/apps.py", line 22, in ready
    self.module.autodiscover()
  File "/home/mat/Desktop/python/pmm/venv/lib/python3.4/site-packages/django/contrib/admin/__init__.py", line 26, in autodiscover
    autodiscover_modules('admin', register_to=site)
  File "/home/mat/Desktop/python/pmm/venv/lib/python3.4/site-packages/django/utils/module_loading.py", line 50, in autodiscover_modules
    import_module('%s.%s' % (app_config.name, module_to_search))
  File "/home/mat/Desktop/python/pmm/venv/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1471, in exec_module
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "/home/mat/Desktop/python/pmm/venv/lib/python3.4/site-packages/modeltranslation/admin.py", line 20, in <module>
    from modeltranslation.translator import translator
  File "/home/mat/Desktop/python/pmm/venv/lib/python3.4/site-packages/modeltranslation/translator.py", line 12, in <module>
    from modeltranslation.manager import (MultilingualManager, MultilingualQuerysetManager,
  File "/home/mat/Desktop/python/pmm/venv/lib/python3.4/site-packages/modeltranslation/manager.py", line 19, in <module>
    from django.db.models.sql.where import Constraint
ImportError: cannot import name 'Constraint'

我用的是django1.9和最新的django-modeltranslation。

如有错误无法帮我解决,请推荐其他模型翻译app。

我遇到过其中一些:

django-multilingual-ds9

django-dbgettext

django-transmeta

但它们似乎不再受支持。您知道这些是否有效,或者您知道任何其他有效的解决方案吗?

如果这很重要,我不得不承认我使用 django-rosette

您确定您使用的是最新的django-modeltranslation吗?不久前 (https://github.com/deschler/django-modeltranslation/issues/349) and already fixed in version 0.11rc1 (https://pypi.python.org/pypi/django-modeltranslation/0.11rc1) 报告了该问题。

我找到了其他模型翻译应用,django-hvad

工作起来很有魅力,有完整的 django1.9 支持,易于实施并且 translator-friendly。