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'