【问题标题】:get Foreign Key field name by which inline form is related获取与内联表单相关的外键字段名称
【发布时间】:2015-04-09 02:23:38
【问题描述】:

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

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

    我猜是什么,您正在尝试获取与特定 modeladmin 相关的外键字段的名称。

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

    all_formset_forms = formset.forms
    

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 2021-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-29
      相关资源
      最近更新 更多