2

我是一个 django 菜鸟,我试图弄清楚如何让管理模块做一些与单个模型上的正常操作略有不同的事情。基本上我需要的是运行查询并将查询结果显示为视图页面,然后允许编辑页面的链接将用户带到现有模型的编辑视图。我的查询中的 3 个表中有 2 个是相关的,但不是全部 3 个。

例子:

select a.foo, a.second_field, b.bar, c.unrelated_field
from a, b, c
where a.primary_key = b.foreign_key
and a.some_value = c.some_value 

请注意,a 和 c 未定义为相关表。

我想查看此查询输出,并在选择时链接到整个 b 模型的编辑视图。

我在数据库中为此查询创建了一个视图,并简单地创建了一个新模型,可以轻松获取视图,但我不确定这是否是正确的开始方法......但从那里我可以'似乎不知道如何将此链接链接到 B 表的编辑页面。

任何关于如何最好地用 django admin 完成这样的事情的指示或建议将不胜感激!

顺便说一下,使用 Django 1.3.1。

干杯!

4

1 回答 1

0

您可以覆盖change_view您的ModelAdmin,因此它将构建一个包含所有您需要的数据的字典列表。然后覆盖change_list.html模板以正确显示此数据并将其与change_form正确模型的视图链接。所以它将完美地集成到 Django 的管理站点中。

而且我不喜欢数据库视图,只要没有它就可以解决问题。如果数据可以在 Python 中构建而没有巨大的性能差距和大量的魔术代码,那么它应该在 Python 中处理。

于 2012-04-21T04:24:05.800 回答