django admin-许多过滤器水平-限制为三种选择

django admin-许多过滤器水平-限制为三种选择,django,django-models,django-admin,Django,Django Models,Django Admin,我的一个奇怪的愿望是,我想让管理员页面中的filter\u水平ManytoMany选择框最多只能选择三项。第四项不应可选 怎么可能呢?我正在考虑重写对象的save方法,但这似乎太“晚”了,在保存过程之前有什么方法可以做到这一点吗?像管理员类字段或模型字段中我可能没听说过的任何属性一样 非常感谢您提供的任何帮助您可以通过使用jquery来实现,这将节省所有服务器端开销 在模型管理员中添加以下内容: class Media: js = ('PATHA_AFTER_STATIC/li

我的一个奇怪的愿望是,我想让管理员页面中的
filter\u水平
ManytoMany选择框最多只能选择三项。第四项不应可选

怎么可能呢?我正在考虑重写对象的save方法,但这似乎太“晚”了,在保存过程之前有什么方法可以做到这一点吗?像管理员类字段或模型字段中我可能没听说过的任何属性一样


非常感谢您提供的任何帮助

您可以通过使用jquery来实现,这将节省所有服务器端开销

在模型管理员中添加以下内容:

 class Media:
        js = ('PATHA_AFTER_STATIC/limitchoice.js', )
将limitchoice.js放入statics/文件夹中(贷记到:)

$(“id\u MODELNAME\u to”)。在(“更改”、“选项”、函数(){
如果(3)
$("id_MODELNAME_to").on("change", "option", function () {
    if ( 3 <= $(this).siblings(":selected").length ) {
        $(this).removeAttr("selected");
        alert("Only 3 choices allowed");
    }
});​​​​​​​​​​