在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”)。
答案 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