Django маркировка: исключение "уже зарегистрирован" - PullRequest
4 голосов
/ 09 июня 2011

Я установил теги Django. Я читаю учебник и разбираю, как он работает. В моих моделях:

import tagging

class TaggingWidget(models.Model):
    """Widget for tagging."""
    name = models.CharField(max_length = 50)


tagging.register(TaggingWidget)

Когда я пытался импортировать виджет в оболочку, у меня возникла исключительная ситуация:

In [1]: from soapapp import models
---------------------------------------------------------------------------
AlreadyRegistered                         Traceback (most recent call last)

    /home/user/workspace/soapbox/<ipython console> in <module>()

    /home/user/workspace/soapbox/soapapp/models.py in <module>()
      8 
      9 
---> 10 tagging.register(TaggingWidget)
     11 
     12 

    /home/user/Envs/env1/lib/python2.6/site-packages/tagging/__init__.pyc in register(model,       tag_descriptor_attr, tagged_item_manager_attr)
     37     if model in registry:
     38         raise AlreadyRegistered("The model '%s' has already been "
---> 39             "registered." % model._meta.object_name)
     40     if hasattr(model, tag_descriptor_attr):
     41         raise AttributeError("'%s' already has an attribute '%s'. You must "

AlreadyRegistered: The model 'TaggingWidget' has already been registered.

Что не так? Что мне делать?

1 Ответ

8 голосов
/ 09 июня 2011

Кажется, что открытый вопрос с django-tagging .Простой обходной путь -

try:
    tagging.register(TaggingWidget)
except tagging.AlreadyRegistered:
    pass
...