Django Dynamic Admin Site



我想创建一个动态管理站点,根据该字段是否为空白将显示该字段。 所以我有一个模型,它有一定数量的字段,但对于每个单独的条目,我的模型不会包含所有字段,我想根据该字段是否为空来排除。我之前发布了这个问题,细节少了很多,它被搁置了,所以我发布了一个新问题,里面有很多细节。

我有一个唯一的网桥标识符,它与每个网桥相关联,然后是描述网桥的所有各种不同的变量。

然而,并非每座桥都是一样的,我想在我的模型中包含更多变量,但现在我只测试两个:prestressed_concrete_deck和reinforced_concrete_coated_bars。 我想要的是动态创建管理站点,如果该字段为空,则不显示prestressed_concrete_deck变量。 因此,我不想在管理站点上显示所有变量,而是只想在该桥具有该部分时显示这些变量,如果字段为空则不显示任何内容。

该问题的另一个可能的解决方案是将该唯一标识符交给我的 admins.py。 我也不知道如何获取该单个密钥,因为我可以在 admins.py 中查询。 如果我知道如何访问桥接键,我就可以在我的 admins.py 中动态查询。 那么我将如何在我的 admins.py 中访问该条目的 brkey(类似于 BridgeModel.brkey ?

我已经在我的 admin.py 中尝试了几种不同的东西,并尝试了在我的 admin 类中覆盖 get_fields() 方法的注释建议,但我可能在语法上是错误的,我有点困惑它需要的对象到底是什么。 这是实际的条目吗? 还是单个字段?

我不确定我是否理解了你的问题。

但是,如果我这样做了,而您只想在模板中仅显示非空字段。我建议对查询进行硬编码,以防您必须进行连接,以views.pyBridge.objects.raw(query))询问您的数据库。之后,您可以将获得的结果作为参数发送到 html 文件,并开发一个 javascript 函数来根据参数的内容显示或隐藏字段。

我之前有一个建议覆盖get_fields方法的方法。 此方法最初根本不起作用,因为我使用的是 Django 1.6.2 版本,并且不支持覆盖 get_fields 方法。 我升级到 1.7 ,并覆盖get_fields有效

最新更新