可以說我有這個類(簡體):複雜的Django過濾器的問題
class Tag (...):
children = models.ManyToManyField(null=True, symmetrical=False)
現在我已經實現的功能get_parents,get_all_ancestors。有沒有一個很好的pythonic方式來只是頂級標籤?如果我設計了不同的標籤(指向父母),我只需要製作get_all_parents().filter(children=None)
。
我的第一個想法是創建一個新的函數,將遞歸通過所有的父母,並保存那些沒有。
但是有沒有可能使用過濾器或查詢對象來執行相同的操作(使用更少的代碼行)?
感謝您的幫助。
[編輯]
當完成時,它應該是一個分層的標籤系統。每個標籤可以有孩子,父母,但只有孩子得救。我想獲得所有頂級標籤,這通過許多兒童/兒童孩子指向我的標籤。
你能舉例說明你的數據輸出應該是什麼樣子嗎? – viksit 2010-04-15 21:03:38
我的數據輸出應該是一個標籤列表,或者甚至更好的一個查詢集。它們之間很容易轉換,所以兩者都適合我的情況。 – 2010-04-15 21:05:57