2017-08-29 89 views
0

环境: 的Python 2.7.10 的Django 1.11.3Django的taggit与Django的树胡或合适的分类应用

问题 我需要一个分类体系,而不仅仅是标签。例如:

  • 艺术>数码插画
  • 编程>网站>代码战斗
  • 编程>网站> Hackerrank
  • 编程>网站>代码战斗>街机>一级
  • 编程>代码挑战

环顾四周,我发现this post在StackOverflow这导致我这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) 

问题是,当我去管理员添加我得到的分类标准以下领域:

  • 名称
  • 弹头
  • 路径
  • 深度
  • Numchild

最后两个并不意味着以手工输入,所以说,documentation of tree beard.

Do not change the values of path, depth or numchild directly: use one of the included methods instead. Consider these values read-only.

我继续尝试自己输入,因为好奇/愚蠢,树破了。所以我不得不使用这个技巧来解决这个问题:

f = Taxonomy.objects.all() 
from django.db.models import QuerySet 
QuerySet.delete(f) 

荣誉给用户“jrief”为the hack

另一个问题是,我不能再通过管理员访问我的模型。我收到以下错误:在/管理

FieldDoesNotExist /主/后 邮政有没有属性“content_object”

请记住,这是我的第一个Django项目和应用程序。欣赏你可能拥有的任何想法,或分类法的好的Django应用程序,或者关于如何实现我需要的分类法的想法。

回答

1

我结束了使用应用程序Django Category,它很辉煌。只要遵循简单的馅饼指示(几乎没有任何步骤!),一切都按预期工作。