【问题标题】:Django admin many to many horizontal filter not workingDjango admin多对多水平过滤器不起作用
【发布时间】:2017-01-01 08:08:45
【问题描述】:

我在我的 django 模型中使用多对多字段,在管理界面上公开它并尝试使用 filter_horizo​​ntal 小部件。现在,我在 change_form.html 中添加了一些自定义 html,所以简单地添加 filter_horizontal = ('teams', 'players', ) 并没有帮助。

我搜索了一下,发现这个小部件需要一些默认的 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(匿名函数)@(索引):1275

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

【问题讨论】:

    标签: javascript django django-admin


    【解决方案1】:

    所以不管它值多少钱,水平过滤器都不起作用,这对我来说很容易,所以我继续这样做:

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-01-12
      • 2016-01-19
      • 2021-12-13
      • 2018-12-14
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      相关资源
      最近更新 更多