使用 Django Import-Export 在管理中导出对象的多对多关系

Export many-to-many relations of object in admin with Django Import-Export

我在我的应用程序的管理员中使用 Django import-export,但我找不到任何我认为必须是常见用例的示例。

在我的作者管理页面中,我想要一个 "Export all books written by this author" 管理操作来导出作者所写的所有书籍。任何帮助将不胜感激。

我可以简单地创建一个新的 Django 管理操作,但我真的很想保留很棒的导入导出 'select format' 下拉列表。

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

    def __unicode__(self):
        return self.name


class Book(models.Model):
    name = models.CharField('Book name', max_length=100)
    author = models.ForeignKey(Author, blank=True, null=True)
    author_email = models.EmailField('Author email', max_length=75, blank=True)
    imported = models.BooleanField(default=False)
    published = models.DateField('Published', blank=True, null=True)
    price = models.DecimalField(max_digits=10, decimal_places=2, null=True,
            blank=True)

    def __unicode__(self):
        return self.name

您可以将导出操作放在图书管理员中,并为作者添加过滤器。然后,您将能够按单个作者筛选书籍并导出结果。