【问题标题】:How to filter an inlined foreign key based on master model如何根据主模型过滤内联外键
【发布时间】:2010-01-22 06:18:05
【问题描述】:

在内联表单中,在管理界面中,我有一个外键字段。

如果您查看下图:http://www.image-share.com/ipng-147-172.html,您会注意到一个引擎字段(设置为邻近)。

我想要根据引擎选择过滤列表中出现的内容(当前为 track.context.max_media_duration 和 track.ambient.max_media_duration)。

我希望在更改选择时更改它,它还必须标记现有的已被过滤掉以进行删除或删除它们。

我不知道从哪里开始实现这样的功能。

谢谢

【问题讨论】:

    标签: django


    【解决方案1】:

    在我看来,最简单的方法是将其全部作为 AJAX 回调(例如使用 jQuery)。一般的代码流程可能如下:

    1. 将 jQuery onChange 事件添加到 id_engine 字段。
    2. id_engine 下拉更改时,会触发回调。
    3. 该回调将您设置的 URL 调用回特定 URL,并将值作为 JSON 数据返回。
    4. 这些值是您用来覆盖在下面的下拉列表中找到的值... jQuery 可以非常简单地覆盖这些值。您只需要小心匹配默认情况下 Django 输出的内容——保持表单名称和值相似,以便 Django 在 POST 回数据时知道如何处理它。

    【讨论】:

    • 我猜你提出的完整 JS 解决方案将是最好的,也是最容易实现的,因为我没有要过滤的大数据集(最多一百个)。不过我会等待其他提议。
    • 我结束了在几行 JS 代码和一个简单的 django 视图中实现该解决方案。
    猜你喜欢
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 2012-07-15
    • 2018-03-19
    • 2015-07-26
    • 2013-08-20
    相关资源
    最近更新 更多