2

在我的 Django 应用程序中,我有两个模型:出版物和标签。这两个模型具有多对多关系:

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但给出的示例并未解决我正在尝试做的事情。

4

1 回答 1

1

在对 Django 文档进行了进一步调查后,我发现我可以添加一个操作,将管理员用户引导到一个中间页面,我可以创建该中间页面来进行任何必要的编辑。https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/#actions-that-provide-intermediate-pages

于 2013-06-20T21:35:27.057 回答