Django ModelForm - 允许添加ForeignKey

时间:2013-10-16 01:59:15

标签: python django modelform

我正在尝试模仿Django Admin工具中的功能,它允许您为外键添加对象(下拉列表旁边的一个小图标)。例如,假设我有以下内容:

class Author(models.Model):
    first_name = models.CharField(max_length=100)
    last_name = models.CharField(max_length=100)

class Blog(models.Model):
    name = models.CharField(max_length=50)
    author = models.ForeignKey('Author')

当我使用ModelForm for Blog添加我的第一个Blog时,它会在Author旁边显示一个下拉列表。但是,系统中没有作者,因此下拉列表为空。在管理工具中,我相信它在下拉列表旁边放了一个“+”图标,这样您就可以通过打开弹出窗口快速高效地将记录添加到下拉列表中。

这非常有用,所以我想使用ModelForms在我自己的应用程序中模仿它。这也是内置于Django的ModelForms中的吗?如果是这样,我该如何使用它?我似乎无法在文档中找到任何内容。

1 个答案:

答案 0 :(得分:1)

您将需要使用:django.contrib.admin.widgets.RelatedFieldWidgetWrapper

这篇文章肯定会指导你:

Django admin - How can I add the green plus sign for Many-to-many Field in custom admin form