Saltar al contenido

filtrar en django-import-export

Hola, encontramos la respuesta a lo que buscabas, has scroll y la obtendrás a continuación.

Solución:

Pasar queryset al método de exportación:

queryset = Price.objects.exclude(...)
data = ExportData().export(queryset)
data.csv

Para filtrar solo el archivo exportado y no la lista real en la pantalla de administración, puede sobrescribir el get_export_queryset método

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)

Puede anular el export método de resources.ModelResource en tus admin.py archivo, para aplicar su filtro en admin:

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)

Calificaciones y comentarios

Recuerda algo, que te brindamos la opción de agregar una reseña si te fue preciso.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *