在我的 Django 应用程序中,我有两个模型:Publications 和 Tags。这两个模型具有多对多关系:
class Tag(models.Model):
title = models.CharField(max_length=50,)
class Publication(models.Model):
title = models.CharField(max_length=200,)
tags = models.ManyToManyField(Tag, blank=True, related_name="publications", null=True)
在管理站点上,我希望能够对发布对象进行批量编辑。具体来说,我希望能够更新一组出版物的标签。
例如,如果我从出版物页面中选择“出版物 1、出版物 2 和出版物 3”,并创建一个名为“change_tags”的操作,然后点击开始,我会在数据库中看到标签列表,并且我可以从该列表中进行选择,并将所选标签添加到所有三个出版物中。
不知道有没有办法做到这一点。我查看了有关添加操作的 Django 文档:https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/#ref-contrib-admin-actions但是给出的例子并没有解决我正在尝试做的事情的复杂性。
请您参考如下方法:
在对 Django 文档进行进一步调查后,我发现我可以添加一个操作,将管理员用户定向到一个我可以创建的中间页面,以进行任何必要的编辑。 https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/#actions-that-provide-intermediate-pages
