2014-09-30 31 views
0

我的一個奇怪的願望是,我想讓filter_horizontal ManytoMany在管理頁面中的選擇框最多隻能選擇三項。第四項不應選擇。django admin - manytomany filter_horizo​​ntal - 限制爲三種選擇

怎麼可能?我正在考慮重寫對象的保存方法,但似乎太「遲了」一步,有沒有辦法在保存過程之前做到這一點?像我可能沒有聽說過的管理類字段或模型字段上的任何屬性?

任何幫助表示讚賞

回答

1

您可以通過使用jQuery實現它,這將保存所有的服務器端的開銷;

模型中的管理員

補充一點:

class Media: 
     js = ('PATHA_AFTER_STATIC/limitchoice.js',) 

把你limitchoice.js在靜/文件夾(信貸:https://stackoverflow.com/a/2046293/288387

$("id_MODELNAME_to").on("change", "option", function() { 
    if (3 <= $(this).siblings(":selected").length) { 
     $(this).removeAttr("selected"); 
     alert("Only 3 choices allowed"); 
    } 
});​​​​​​​​​​ 

注意標識的多對多場id_MODELNAME_to指向第二個框

希望它有幫助

相關問題