2016-02-17 13 views
10

django 1.9でeav-django(entity-attribute-value)を使用しています。私は追加することにより、一般的なインポートしようとしたImportError:一般名をインポートできません

Unhandled exception in thread started by <function wrapper at 0x10385b500> 
Traceback (most recent call last): 
    File "/Library/Python/2.7/site-packages/Django-1.9-py2.7.egg/django/utils/autoreload.py", line 226, in wrapper 
    fn(*args, **kwargs) 
    File "/Library/Python/2.7/site-packages/Django-1.9-py2.7.egg/django/core/management/commands/runserver.py", line 109, in inner_run 
    autoreload.raise_last_exception() 
    File "/Library/Python/2.7/site-packages/Django-1.9-py2.7.egg/django/utils/autoreload.py", line 249, in raise_last_exception 
    six.reraise(*_exception) 
    File "/Library/Python/2.7/site-packages/Django-1.9-py2.7.egg/django/utils/autoreload.py", line 226, in wrapper 
    fn(*args, **kwargs) 
    File "/Library/Python/2.7/site-packages/Django-1.9-py2.7.egg/django/__init__.py", line 18, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/Library/Python/2.7/site-packages/Django-1.9-py2.7.egg/django/apps/registry.py", line 108, in populate 
    app_config.import_models(all_models) 
    File "/Library/Python/2.7/site-packages/Django-1.9-py2.7.egg/django/apps/config.py", line 202, in import_models 
    self.models_module = import_module(models_module_name) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "/Users/shakil_grofers/src/django-eav/eav/models.py", line 42, in <module> 
    from django.contrib.contenttypes import generic 

:models.pyで

from django.contrib.contenttypes import generic 

私はコマンド./manage.py runserverを実行していた時はいつでも、私はエラーを得ました。その後、数少ない研究の結果、ジェネリックはDjango 1.7では廃止され、Django 1.9ではなくなったことが分かりました。誰もが、この機能がDjango 1.9でどのように追加され、どのように使用するのか教えてください。

答えて

13

django.contrib.contenttypesモジュールはreorganized in Django 1.7です。

django.contrib.contenttypes.generic.GenericForeignKeyの代わりにdjango.contrib.contenttypes.fields.GenericForeignKeyを使用できるようになりました。ドキュメントのサンプルコードを参照してください。

https://docs.djangoproject.com/en/1.7/ref/contrib/contenttypes/#generic-relations

+0

あなたはこれでEAV-ジャンゴを使用する方法を提案することができます?? –

+0

あなたは 'ジャンゴ・eav'ソースコードを変更し、' fields.GenericForeignKey'を持つすべての 'generic.GenericForeignKey'sを交換する必要があります。また、リポジトリにプルリクエストをすることもできます:) https://github.com/mvpdev/django-eav/ – Selcuk

1

この機能は.modelsと.fieldsモジュールに移動されました。 削除されるのは特定のファイルだけです。一般的なリレーション機能はまだ存在し、別々のファイルに分割されています。

+0

これでeav-djangoを使用する方法を提案できますか? –

0

Pipに最新バージョンがないため、Pythonの公式サイトからDjango.taggingパッケージを更新します.Pipソースではありません。

関連する問題