获取与内联表单相关的外键字段名称

时间:2015-02-09 11:01:18

标签: django django-admin

在django admin中,我有一个ModelForm和一个内联表单。我需要save_formset方法中的外键字段的名称,其中内联形式的模型与主(父)形式的模型相关。

class Author(models.Model):
    name=models.CharField(max_length=30)

class Article(models.Model):
    writer=models.ForeignKey(Author)

我需要作者ModelAdmin的save_formset方法中的字段名称(本例中为“writer”)。

1 个答案:

答案 0 :(得分:5)

我猜是什么,你试图得到与特定modeladmin相关的外键字段的名称。

您应该在ModelAdmin中使用save_formset字段,并在此处找到外键名称。

all_formset_forms = formset.forms

这将返回您要保存的当前表单的所有内联表单。

遍历每个表单字段和您要求的字段,即modeladmin实例的相关外键字段是parent_instance的属性。

if hasattr(formset_form_field,'parent_instance'):
    formset_field_name  =  formset_form_field
    related_modeladmin_instance = formset_field_name.parent_instance