【问题标题】:How can I implement the Django Admin Foreign Key's Add button?如何实现 Django Admin Foreign Key 的 Add 按钮?
【发布时间】:2018-08-09 10:54:24
【问题描述】:

我想实现我们在 ForeignKey 字段旁边的添加按钮,以便我们可以向字段/数据库添加数据。

我一直在学习一些教程,但没有一个可以帮助我将数据实际添加到字段中,进而添加到我的数据库中。我也四处寻找,但似乎找不到任何人完成了这项任务。

我一直在关注的一个很好的教程是这个:https://djangopy.org/how-to/reverse-engineering-of-the-django-admin-foreign-keys-addedit-button/

但是,直到最后,本教程都非常好。他只实现了编辑按钮,而不是添加按钮。因此,在为 ForeignKey 添加数据时,我不确定我需要进行哪个 AJAX 调用才能复制管理员添加按钮所做的调用。

为了简洁起见,教程中的所有代码都是我所拥有的,我只需要为添加按钮实现一个功能。

如果有人有任何想法或可以指出我正确的方向,那将不胜感激。

【问题讨论】:

标签: python ajax django django-admin


【解决方案1】:

用于添加数据的 AJAX 应该是 POST 请求,但是您是否尝试过编写的 add 按钮?我在 Django 2.0+ 上,所以我无法在不修改的情况下复制粘贴他所拥有的内容,但在他的 views.py:

def AuthorCreatePopup(request):
  form = AuthorForm(request.POST or None)
  if form.is_valid():
    instance = form.save()
    return HttpResponse('<script>opener.closePopup(window, "%s", "%s", "#id_author");</script>
  return render(request, "author_form.html", {"form" : form})

看起来它应该处理新记录并更新主窗体上的字段。如果它不起作用,我认为你在某个地方遇到了错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 2021-01-09
    • 1970-01-01
    相关资源
    最近更新 更多