Django管理员。显示分层下拉过滤器

Django管理员。显示分层下拉过滤器,第1张

Django管理员。显示分层下拉过滤器

您需要创建一个自定义小部件以选择City模型(也就是说,您的模型应FK到City而不是State),此小部件包含两个Select字段,第一个包含Sstate,第二个包含在选择中州(您需要插入一个视图以根据州ID返回城市以填充您选择的城市)。

您应该将窗口小部件Media内部类指向所有Selects链接的特定.js文件。

在ModelAdmin规范中,将字段的窗口小部件设置为刚创建的自定义窗口小部件,它将自动将其媒体添加到change_form模板中。

确保您的.js文件查找常规的JQuery对象并回退到django.JQuery,这样您就可以在管理员和整个站点中使用相同的小部件。

(function($) {// Note that this function works only for one widget per page$('#state').change(function(){    $('#city').load('/cities_by_state/', {id: this.value}); // the endpoint returns HTML});})(JQuery||django.JQuery);

我在本地用于项目的应用程序中做了类似的 *** 作(可变深度最多为三个级别),最终的解决方案有点麻烦,因为它必须支持每页多个小部件,动态小部件(用于内联),模板标签以各种形式渲染小部件等



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5662027.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存