环境: Python 2.7.10 Django 1.11.3
问题 我需要一个Taxonomy系统而不仅仅是标签。例如:
环顾四周,我发现StackOverflow中的this post导致我blog post。
这使我得到以下代码:
模型
class Taxonomy (TagBase, MP_Node):
node_order_by = ['name']
class TaggedPost (ItemBase):
content_object = models.ForeignKey('Post')
tag = models.ForeignKey('Taxonomy', related_name='tags')
class Post(ItemBase):
tags = TaggableManager(through=TaggedPost, blank=True)
管理
admin.site.register(Taxonomy, TreeAdmin)
问题是当我去管理员添加分类法时,我得到以下字段:
最后两个并不意味着手动输入,所以说documentation of tree beard.
请勿直接更改path,depth或numchild的值:请改用其中一种方法。请将这些值设为只读。
我继续尝试自己输入它们,因为好奇心/愚蠢,树木破了。所以我不得不用这个黑客来修复它:
f = Taxonomy.objects.all()
from django.db.models import QuerySet
QuerySet.delete(f)
感谢the hack的用户“jrief”。
另一个问题是我无法再通过管理员访问发布模型。我收到以下错误:
/ admin / main / post中的FieldDoesNotExist 帖子没有属性'content_object'
请记住这是我的第一个Django项目和应用程序。欣赏您可能拥有的任何想法或分类法的优秀django应用程序,或者了解如何实施我需要的分类法。