获取与内联表单相关的外键字段名称
get Foreign Key field name by which inline form is related
在 django admin 中,我有一个 ModelForm 和一个内联表单。我需要 save_formset 方法中的外键字段名称,内联表单模型通过该方法与主(父)表单模型相关联。
class Author(models.Model):
name=models.CharField(max_length=30)
class Article(models.Model):
writer=models.ForeignKey(Author)
我需要 Author 的 ModelAdmin 的 save_formset 方法中的字段名称(本例中的 'writer')。
我猜到底是什么,您正在尝试获取与特定模型管理员相关的外键字段的名称。
您应该使用 ModelAdmin 中的 save_formset 字段,并在此处找到外键名称。
all_formset_forms = formset.forms
这将 return 您尝试保存的当前表单的所有内嵌表单。
遍历每个表单字段和您要求的字段,即 modeladmin 实例的相关外键字段是 parent_instance 的属性。
if hasattr(formset_form_field,'parent_instance'):
formset_field_name = formset_form_field
related_modeladmin_instance = formset_field_name.parent_instance
在 django admin 中,我有一个 ModelForm 和一个内联表单。我需要 save_formset 方法中的外键字段名称,内联表单模型通过该方法与主(父)表单模型相关联。
class Author(models.Model):
name=models.CharField(max_length=30)
class Article(models.Model):
writer=models.ForeignKey(Author)
我需要 Author 的 ModelAdmin 的 save_formset 方法中的字段名称(本例中的 'writer')。
我猜到底是什么,您正在尝试获取与特定模型管理员相关的外键字段的名称。
您应该使用 ModelAdmin 中的 save_formset 字段,并在此处找到外键名称。
all_formset_forms = formset.forms
这将 return 您尝试保存的当前表单的所有内嵌表单。
遍历每个表单字段和您要求的字段,即 modeladmin 实例的相关外键字段是 parent_instance 的属性。
if hasattr(formset_form_field,'parent_instance'):
formset_field_name = formset_form_field
related_modeladmin_instance = formset_field_name.parent_instance