如何限制Inline Admin模型中外键的​​选择?

时间:2019-07-05 06:49:02

标签: django django-grappelli

我正在处理此调查应用程序。因此,问题被分为不同调查形式的部分。表单的设计应在管理面板中完成。 (我使用grappelli)。每个调查设计表格都有部分内联表格和多个问题内联表格。在确定要询问的部分时,下拉列表将列出所有部分,而与它所关联的调查表无关。如何用同一调查表的各个部分填充下拉列表?

这适用于python 3.7和Django 2.1.5。

我的模型层次结构为->

调查-用户  ...

部分  -调查  ...

问题  -部分  -调查  ...

管理表单具有这些组件->

FeedbackAdmin  -问题在线  -SectionInline

SectionInline中,我尝试经过多次尝试并读取了多个答案,却以此定义,但徒劳

        field = super(QuestionInline, self).formfield_for_foreignkey(db_field, request, **kwargs)
        if db_field.name == 'sections':
            if request._obj_ is not None:
                field.queryset = field.queryset.filter(sections = request._obj_)  
            else:
                field.queryset = field.queryset.none()
        return field

这可以正常工作,但没有达到预期的效果。

如果调查I有A和B部分,调查II有C和D部分,则调查中的每个问题都应在A和B之间进行选择,但实际选择范围为A,B,C和D。

0 个答案:

没有答案