问题标签 [django-modeladmin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2889 浏览

django - 显示聚合的 Django 管理界面

我想使用 django 管理界面来显示模型中的数据聚合。例如:模型具有以下字段 [员工姓名、工资、月份] 我想要包含字段 [月份、total_salary_paid、cumulative_of_month_salaries_paid] 的聚合表。我该怎么做呢 ??我已经搜索过互联网,但没有找到任何方法。任何参考或指导都会有所帮助

0 投票
1 回答
93 浏览

python - 在 Admin 中编辑 ForeignKey 字段

行政:

如何添加在单个对象管理页面中编辑BoxItem.quantity值的可能性?Box

0 投票
1 回答
285 浏览

django - Django:有条件的 ModelAdmin 取决于对象

假设我有一个基类,例如:

现在,我将几种类型的对象输入到表中,其中一些使用部分数据,一些使用其他部分,所有这些都使用一些公共部分(本例中的名称)。

我想要一个完整的列表,但是当我点击一个对象时,我希望有不同的视图,这取决于它的类型。modelAdmin 的变化包括:其中一个类使用内联,其他类不使用,list_display 变化,一个有额外的 CSS,等等。基本上我们在谈论不同的 modelAdmins。

我在想的替代方案:一个是这些类型中的每一个都是Base的子类,即:

然后我为它们中的每一个定义了一个modelAdmin,并为基类定义了一个,只是为了让表格列出所有内容。在这一个中,我将覆盖链接,因此它们不会转到 /app/base/id,而是根据类型转到 /app/type1/id、/app/type2/id 等。对于其中的每一个,我都会修改 modelAdmins,以便在保存后返回 /app/type

另一种选择是拥有一个模型和一个modelAdmin,并覆盖我用于change_view的每一个方法以考虑它正在呈现什么类型的对象,即get_inline_instances、get_formsets,无论我需要修改list_display、list_display_links、list_filter , ETC。

第一个替代方案对我来说看起来更干净,尽管我不确定如何修改链接,除了在 modelAdmin 中定义一个方法并正确调用 reverse 并将该方法添加为 list_display 中的列。

有没有更简单的方法我错过了?你会怎么做?

哦,它必须使用管理员。我宁愿使用视图或单独的模型来做到这一点,但遗憾的是它必须这样做。最高指挥部想要一张桌子上的所有东西。

谢谢!。

编辑:另外,我刚刚发现了这个,看起来不错:

http://django-polymorphic.readthedocs.org/en/latest/admin.html

0 投票
2 回答
3267 浏览

javascript - 如何覆盖 Django 的 ModelAdmin 的“媒体”属性并使其动态化?

最终,我想基于...包含/排除某些 javascript 文件。简单地定义 Media 类本身是行不通的,因为它只被评估一次。

我知道我可以通过制作自定义管理模板来做到这一点,但我想知道是否有一种简单的方法可以通过使媒体属性动态化来做到这一点。

这是我到目前为止所拥有的:

这几乎可行,但我发现调用super(MyModelAdmin, self).media忽略了我当前班级的媒体定义。在四处寻找时,我发现这是因为父类的媒体属性由django.forms.widgets.media_property(via MediaDefiningClass) 包装,并且由于我正在覆盖媒体,所以我的媒体属性没有被包装。我尝试通过以下方式手动包装它:

但 media_property 无法导入。

我怎样才能让它包含我的静态媒体和我的动态媒体,以及如何以 django 满意的方式添加我的动态媒体?

0 投票
1 回答
1412 浏览

django - 如何将行号添加到 tabularinline 块的每一行

我有一个带有 TabularInline 类型内联的 ModelAdmin 类。我想要的是 TabularInline 的每一行在其左侧显示一个行号。这个数字会随着新记录添加到内联中而增加,并且会在编辑表单时显示。

我更喜欢行号不是内联数据模型的一部分,而是在每次将新记录添加到内联块或由内联块显示时生成。我不需要将这个号码保存在数据库中。它仅供参考 ModelAdmin 类中的另一个字段。

我是 django 的新手,我似乎无法弄清楚如何做到这一点。

任何建议,将不胜感激。

问候,瑞克

0 投票
2 回答
106 浏览

python - 如何避免在子类中覆盖 ModelAdmin 选项?

我有一个通用的 ModelAdmin,admin.py它替换了管理界面中的一些小部件。它作为我所有其他 ModelAdmins 的超类。它看起来像这样:

在另一个 Django 应用程序中,我SuitedUpAdmin用作 ModelAdmin 的超类,它也尝试替换一些小部件:

formfield_overrides问题是,当我为in分配一个新值时LocationAdmin,我丢失了从SuitedUpAdmin. 我该如何处理?我目前使用的解决方案是在LocationAdmin.render_change_form方法中替换小部件实例,但我正在寻找更优雅和可读的选项。我想避免为此使用 ModelForms。期待您的建议!

0 投票
0 回答
202 浏览

django - 在 django admin 中,如何在自定义方法中获取表单数据

我在 ModelAdmin 类自定义方法中搜索以检索表单数据(在更改视图的情况下):

这是我想要做的:

我无法更改 custom_method 原型。

谢谢你的帮助。

0 投票
1 回答
1191 浏览

django - 外键字段未在 django 的内联模型管理中呈现

我正在创建一个小网站来注册体育赛事结果。我有以下两个模型:

  • 团队
  • 球员(球队)
  • 匹配
  • 进球(由球员在比赛中得分)

更详细地说:

我想在 django 管理员下编辑目标和比赛细节。因此,我创建了以下管理模型:

奇怪的是,我的管理员内联不显示player字段,只显示Goal模型中的其他字段。我也检查了html代码,它甚至不是隐藏字段。

您知道这可能是什么原因吗?如何才能显示所有字段?

0 投票
1 回答
1228 浏览

python - Django formfield_for_foreignkey

我正在尝试在文档之后的外键字段中过滤我的管理员选择。

我的模型很简单:

为了实现这一点,我应该做类似的事情:

它正在工作,但每次我访问该页面时它都会通过该功能 3 次,总共提供 5 个查询(3 次加上默认情况下的 2 个)。它通过了 3 次相同的 db_field。

我怎样才能将其减少到只有 1 个查询?这是预期的行为吗?如果是这样……为什么?

0 投票
2 回答
2098 浏览

python - 如何测试 ModelForm save() 方法保存模型中的更改?

我已经覆盖AdminModel'sModelForm以使字段可从's 管理员更改表单中User食用和保存。Person

但是我正在努力编写一个检查 save() 方法的测试:

更新测试

更新解决方案。原来我没有填写请求的不可见字段“用户”。排除使表格有效并通过测试。

管理员.py

测试.py