从管理模型导出django模型为pdf

时间:2013-10-06 21:51:20

标签: python django pdf

我想使用reportlab直接从我的模型管理员将我的模型导出到pdf文件。

class InvoiceItem(models.Model):
    invoice_number = models.CharField(max_length=50)
    invoice_date = models.DateField('Invoice date')
    invoice_sent = models.BooleanField()
    invoice_paid = models.BooleanField()

我的模特管理员:

class InvoiceItemAdmin(admin.ModelAdmin):
    def pdf_version(self, obj):
    ## how to call my reportlab view here ??

请帮忙, 微米。

1 个答案:

答案 0 :(得分:4)

使用行动!我正在接受你已经创建了reportlab视图,你只想用你的模型项重定向到它。所以创建一个这样的函数(在任何类之外):

def pdf_version(modeladmin, request, queryset):
    url = '/your_pdf_url/?pks=' + ','.join([q.pk for q in queryset])
    HttpResponseRedirect(url)

然后在管理员:

class InvoiceItemAdmin(admin.ModelAdmin):
    actions = [pdf_version]

在示例中,我使用GET数据一次允许多个报告,因为这似乎是合理的,但您可以明显地改变它,但是您可以这样做。就这么简单。另外check out the documentation了解更多细节