2015-02-17 21 views
0

我想實現以下用戶羣結構在我的應用程序:Folderlike與Django的MPTT基結構

Group_1 
    Group_1_1 
    Group_1_2 
Group_2 
    Group_2_1 
    Group_2_1_1 

我還是設法做到這一點與django-mptt,但我面臨着以下問題瞬間:

在用戶界面,我想有這樣的事情:

Memberships: 
-------------------- 
[ ] Group_1 
    [ ] Group_1_1 
    [ ] Group_1_2 
[ ] Group_2 
    [ ] Group_2_1 
     [ ]Group_2_1_1 

,如果一個用戶希望加入Group_1_1和Group_2_1,複選框加盟和GROUP_1被Group_2自動檢查爲好,像這樣:

Memberships: 
-------------------- 
[x] Group_1 
    [x] Group_1_1 
    [ ] Group_1_2 
[x] Group_2 
    [x] Group_2_1 
     [ ]Group_2_1_1 

感覺就像它不是太難這個僞做到:

​​

沒有爲這個JQuery solution,但我認爲它應該可以在不使用該功能的情況下完成,但如果它確實不是這樣 - 將django項目鏈接到應用程序的最佳方式是什麼?

回答

1

在用戶界面中,您可以使用JQuery輕鬆實現。例如:

<div> 
    <input class="parent" type="checkbox" /> Group_1 
    <ul> 
    <li><input class="child" type="checkbox" />Group_1_1</li> 
    <li><input class="child" type="checkbox" />Group_1_2</li> 
    </ul> 
</div> 
<div> 
    <input class="parent" type="checkbox" /> Group_2 
    <ul> 
    <li><input class="child" type="checkbox" />Group_2_1</li> 
    <li><input class="child" type="checkbox" />Group_2_1</li> 
    </ul> 
</div> 
<script> 
    $(document).ready(function() { 
     $('.child').click(function(){ 
     $(this).closest('div').find('.parent').attr('checked', true) 
     }); 
    }); 
</script> 

在你看來,你可以使用相同的僞邏輯:

if child_group_obj.parent: 
    child_group_obj.parent.checked = True 
+0

我想有Django的管理員內,最好用現有的複選框類此功能 - 我仍然認爲它不應該那麼辛苦 - 會繼續尋找另一種解決方案,但是謝謝你的時間! – 2015-02-18 21:38:29

+0

我從來沒有嘗試過。我想你可以覆蓋django-admin模板。 – 2015-02-20 05:50:09