2016-08-25 129 views
0

我在我的django模型中使用了多对多字段,在管理界面上公开它并尝试使用filter_horizo​​ntal小部件。现在,我为change_form.html添加了一些自定义html,因此只需添加一个filter_horizontal = ('teams', 'players',)就没有帮助。Django管理员多对多水平过滤器不工作

我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> 

我看到下面的错误在我的浏览器的控制台下面马上:

Uncaught ReferenceError: interpolate is not definedinit @ SelectFilter2.js:47 (anonymous function) @ (index):1275

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

回答

0

所以不管它的价值,水平滤波器没有工作,这容易为我做这份工作,所以我就做了这个:

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

同时,请不要忘了包括以下在您的自定义模板中使用此小工具:

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