Django-form-b​​uilder管理员内联

时间:2013-04-30 14:52:38

标签: django django-forms django-admin

我正在尝试将来自django-forms-builder的表单条目包含在django admin中作为(通用,如果需要)内联。

然而,当我这样做时,我的表单字段没有显示,只有日期和时间,是抽象基类中定义的唯一字段。


UPDATE - 考虑到动态注入字段,上述内容是可以理解的。 django-forms-builder小写抽象基类,创建FormEntryFormFormField模型。

基本上,我需要能够检索给定类型FormEntry的实际Form


更新2 - 可能相关且有用的链接:

覆盖ModelAdmin.form

或...创建custom AJAX-hackish solution


models.py

from forms_builder.forms import models as fmodels   

class FormEntry(fmodels.<s>Abstract</s>FormEntry):
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey('content_type', 'object_id') 
    pass

admin.py

class FormEntryInline(generic.GenericStackedInline):
    model = FormEntry 

我相信,因为django-forms-builder的源代码依赖于抽象类,所以我可能不是正确的子类。我是否需要定义查询集?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您在“更新”文本中有问题的关键 - 输入字段完全是动态的,并且它们不受固定Django模型的支持,因此使用标准管理功能(如内联等)是不可能的。

但是,为了满足此一般要求,管理员中的每个表单都包含一个自定义“导出”视图,该视图可用于查看或导出表单条目。它甚至包含一个高级过滤形式,因此在某些方面它实际上比常规的Django管理功能更好。