Django管理多个到多个水平过滤器不工作

时间:2016-08-25 03:00:38

标签: javascript django django-admin

我在我的django模型中使用多对多字段,在管理界面上公开它并尝试使用filter_horizo​​ntal小部件。现在,我已经在我的change_form.html中添加了一些自定义html,因此只需添加filter_horizontal = ('teams', 'players', )就无济于事了。

我google了一下,发现小部件需要一些默认的js,所以我继续在我的change_form.html中包含以下内容

<script type="text/javascript" src="/static/admin/js/vendor/jquery/jquery.min.js"></script>
<script type="text/javascript" src="/static/admin/js/vendor/jquery/jquery.js"></script>
<script type="text/javascript" src="/static/admin/js/jquery.init.js"></script>
<script type="text/javascript" src="/static/admin/js/core.js"></script>
<script type="text/javascript" src="/static/admin/js/SelectBox.js"></script>
<script type="text/javascript" src="/static/admin/js/SelectFilter2.js"></script>
<script type="text/javascript" src="/static/admin/js/admin/RelatedObjectLookups.js"></script>

我现在在浏览器的控制台中看到以下错误:

  

未捕获的ReferenceError:未定义插值@   SelectFilter2.js:47(匿名函数)@(索引):1275

深入研究SelectFilter2.js,我发现它需要一个文件addevent.js。我猜这是插值函数将被定义的地方,因为所有其他导入都被满足。但我在我的项目中找不到任何这样的文件,谷歌对此没有帮助。有人能帮我一下吗?我错过了什么?

1 个答案:

答案 0 :(得分:0)

因此,无论它的价值如何,水平滤波器都不起作用,这对我来说很容易就能完成这项工作所以我继续这样做:

raw_id_fields = ('teams', 'players', )

此外,请不要忘记在自定义模板中包含以下内容,以使此小部件正常工作:

<script type="text/javascript" src="/static/admin/js/admin/RelatedObjectLookups.js"></script>