如何从管理上下文数据中找到InlineModelAdmin?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从管理上下文数据中找到InlineModelAdmin?相关的知识,希望对你有一定的参考价值。
我试图测试正确的形式与InlineModelAdmin一起使用
我已将自定义表单设置为:
class RateInline(admin.TabularInline):
model = Rate
fk_name = 'project'
extra = 1
form = RateForm
然而,当我试图检查RateForm
确实正在使用时,我得到:
生成的模型:
formsets = response.context['inline_admin_formsets']
ipdb> formsets[1].forms[0].__class__
<class 'django.forms.widgets.RateForm'>
但我希望以前的形式是:
<class 'billing.forms.RateForm'>
此表单是仅在验证期间使用,还是在上下文数据中生成的RateForm小部件?
答案
Django将你的form
传递给modelform_factory
以生成admin中使用的表单类(源代码)。这样就可以将fields
等模型管理选项包含在表单中。
我认为你不应该担心formsets[1].forms[0]
的类型。将其视为实施细节。正如你在评论中所建议的,应该足以断言RateInline.form == RateForm
,并相信当你设置form
时Django做正确的事情。
以上是关于如何从管理上下文数据中找到InlineModelAdmin?的主要内容,如果未能解决你的问题,请参考以下文章
对于 Django 模板 %url% 标签,我如何从通用视图上下文中找到所有 URL 参数,而不仅仅是最后一个?