Django Report Builder: 自定义报告构建器
from django.utils.translation import gettext_lazy as _
from django_report_builder.models import Report, ReportFilter, ReportSort, SortDirection
from django_report_builder.report_builder import ReportBuilder
# 创建一个自定义报告构建器类
class MyCustomReportBuilder(ReportBuilder):
# 可以在此处添加自定义方法
pass
# 创建一个报告
my_report = Report(
title=_('My Custom Report'),
description=_('A report with custom filters and sorting options.'),
base_query=MyModel.objects.all(), # 替换为你的查询集
# 添加过滤器
filters=[
ReportFilter(
field='my_field',
lookup='exact',
help_text=_('Filter by exact value.'),
),
# 可以添加更多的过滤器
],
# 添加排序选项
sortable_by=[
ReportSort(
field='my_field',
display=_('My Field'),
direction=SortDirection.ASC,
),
# 可以添加更多的排序选项
],
)
# 将报告保存到数据库
my_report.save()
这个例子展示了如何创建一个自定义报告构建器类,并定义了一个报告实例,该报告包含自定义的过滤器和排序选项。这个报告实例随后被保存到数据库中,以供后续使用。
评论已关闭