2017-08-29 64 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,它很輝煌。只要遵循簡單的餡餅指示(幾乎沒有任何步驟!),一切都按預期工作。