Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django动态管理站点_Python_Django_Django Models_Django Admin - Fatal编程技术网

Python Django动态管理站点

Python Django动态管理站点,python,django,django-models,django-admin,Python,Django,Django Models,Django Admin,我想创建一个动态管理网站,根据该字段是否为空将显示该字段。因此,我有一个模型,它有一组字段,但是对于每个条目,它不会包含模型中的所有字段,我想根据字段是否为空来排除它。早些时候,我发布了一个细节更少的问题,它被搁置了,所以我发布了一个更详细的新问题 我有一个唯一的桥标识符,它与每个桥相关,然后是描述桥的所有不同变量 然而,并不是每座桥都是一样的,我想在我的模型中包含更多的变量,但现在我只测试两个:预应力混凝土桥面和钢筋混凝土涂层钢筋。我想要的是动态创建管理站点,如果该字段为空,则不显示预应力混凝

我想创建一个动态管理网站,根据该字段是否为空将显示该字段。因此,我有一个模型,它有一组字段,但是对于每个条目,它不会包含模型中的所有字段,我想根据字段是否为空来排除它。早些时候,我发布了一个细节更少的问题,它被搁置了,所以我发布了一个更详细的新问题

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

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

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


我在admin.py中尝试了几种不同的方法,并尝试了在admin类中覆盖get_fields()方法的注释建议,但我可能在语法上是错误的,我有点搞不清楚它所使用的对象到底是什么。这是实际的条目吗?或者这是一个单独的字段?

我不确定我是否理解您的问题


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

我以前有一个方法建议重写get\u fields方法。这个方法最初根本不起作用,因为我使用的是Django 1.6.2版本,它不支持重写get_fields方法。我升级到1.7,覆盖get_字段工作

这正是我的问题。因此,如果一个字段被保留为null或空白,我不想显示它。我曾考虑切换到django表单,但这些表单的安全性较差,需要做更多的工作,这就是为什么我真的希望使用管理站点的原因。以前有没有关于将html和javascript明确合并到管理站点的文档?我在表单页面上看到文档,但在管理站点上看不到,这是我的目标。您可以将js文件添加到管理类的内部媒体类,或者另一种可能的解决方案是删除管理模板并添加javascript代码