0

Django-1.7 で作成した BlogEntry モデルを作成しました。

を実行すると/manage.py makemigration、次のエラーが表示されます。

CommandError: One or more models did not validate:
blog.blogentry: 'tags' has an m2m relation with model <class 'taggit.models.Tag'>, which has either not been installed or is abstract.

正確に何が問題なのかわかりません。誰でも助けることができますか?

コード:

class BlogEntry(models.Model):    
    title = models.CharField(max_length=100)
    slug = models.SlugField()
    text = MarkupField(default_markup_type=getattr(settings,
                                                   'DEFAULT_MARKUP_TYPE',
                                                   'plain'),
                       markup_choices=getattr(settings, "MARKUP_RENDERERS",
                                              DEFAULT_MARKUP_TYPES))
    summary = models.TextField()
    created_on = models.DateTimeField(default=datetime.max, editable=False)
    created_by = models.ForeignKey(User, unique=False)
    is_page = models.BooleanField(default=False)
    is_published = models.BooleanField(default=True)
    published_date = models.DateTimeField()
    comments_allowed = models.BooleanField(default=True)
    is_rte = models.BooleanField(default=False)

    meta_keywords = models.TextField(blank=True, null=True)
    meta_description = models.TextField(blank=True, null=True)

    tags = TaggableManager()

    default = models.Manager()
    objects = BlogPublishedManager()

編集: 'taggit, を INSTALLED_APPS に追加すると、上記の同じコードでこのエラーが発生します。

/usr/local/lib/python2.7/dist-packages/taggit/managers.py:279: DeprecationWarning: `_TaggableManager.get_prefetch_query_set` method should be renamed `get_prefetch_queryset`.
  class _TaggableManager(models.Manager):
Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/hp/django-trunk/django/core/management/__init__.py", line 426, in execute_from_command_line
    utility.execute()
  File "/home/hp/django-trunk/django/core/management/__init__.py", line 418, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/hp/django-trunk/django/core/management/base.py", line 244, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/home/hp/django-trunk/django/core/management/base.py", line 291, in execute
    output = self.handle(*args, **options)
  File "/home/hp/django-trunk/django/core/management/commands/makemigrations.py", line 75, in handle
    ProjectState.from_apps(apps),
  File "/home/hp/django-trunk/django/db/migrations/state.py", line 61, in from_apps
    model_state = ModelState.from_model(model)
  File "/home/hp/django-trunk/django/db/migrations/state.py", line 134, in from_model
    e,
TypeError: Couldn't reconstruct m2m field tags on BlogEntry: __init__() got an unexpected keyword argument 'serialize'
4

0 に答える 0