我想从我的模型创建csv文件,向django-import-export发送一个查询字典(过滤器,排除),然后从我的模型返回数据。
使用流代码,我拥有所有的模型字段,但我需要用查询来过滤它们。
from import_export import resources
from finance.models import Price
class ExportData(resources.ModelResource):
class Meta:
model = Price发布于 2013-07-22 23:21:25
将queryset传递给导出方法:
queryset = Price.objects.exclude(...)
data = ExportData().export(queryset)
data.csv发布于 2019-07-17 02:27:34
要只过滤导出的文件,而不过滤管理屏幕中的实际列表,您可以覆盖get_export_queryset方法
from import_export import resources
from import_export.admin import ImportExportMixin
class ProductAdmin(ImportExportMixin, admin.ModelAdmin):
resource_class = ProductResource
# Override of ImportExportMixin.get_export_queryset
# Filter export to exclude Products where is_active is false
def get_export_queryset(self, request):
return Product.objects.filter(is_active=True)发布于 2019-03-07 22:42:37
您可以在admin.py文件中覆盖resources.ModelResource的export方法,以对管理员应用您的筛选器:
from import_export import resources
from finance.models import Price
class ExportData(resources.ModelResource):
class Meta:
model = Price
def export(self, queryset=None, *args, **kwargs):
# For example only export objects with ids in 1, 2, 3 and 4
queryset = queryset and queryset.filter(id__in=[1, 2, 3, 4])
return super(ExportData, self).export(queryset, *args, **kwargs)https://stackoverflow.com/questions/17790326
复制相似问题