Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django import-export exclude not working

I've been working with Django import-export so that I can get csv files from my database. These csv files have some fields that aren't relevant since they are changed when items are put into the database and thus I dont want them in the table.

I have followed the docs for import-export but can't seem to exclude these fields properly. in my admin.py file I have:

from import_export import resources
from import_export.admin import ImportExportModelAdmin

class ArtAdmin(ImportExportModelAdmin):
    list_display = ['id', 'name', 'category', 'type', 'agent', 'authenticate', ]
    search_fields = ('name', 'category', 'artist', 'id', 'authenticate', )
    list_filter = ["authenticate"]
    actions = [approve_art, reject_art]

class ArtResource(resources.ModelResource):

    class Meta:
        model = Art
        exclude = ('authenticate', )

When I go into python manage.py shell and get it to print out the csv it is how I expect it to be, however when I use python manage.py runserver and then export it I will still see the authenticate column, does anyone know how to fix this?

like image 405
Gary Avatar asked Oct 16 '25 15:10

Gary


1 Answers

It seems you forgot to link the resource class with you modeladmin

class ArtResource(resources.ModelResource):

    class Meta:
        model = Art
        exclude = ('authenticate', )

    class ArtAdmin(ImportExportModelAdmin):
        resource_class = ArtResource

    list_display = ['id', 'name', 'category', 'type', 'agent', 'authenticate', ]
    search_fields = ('name', 'category', 'artist', 'id', 'authenticate', )
    list_filter = ["authenticate"]
    actions = [approve_art, reject_art]
like image 83
F Labbé Avatar answered Oct 18 '25 08:10

F Labbé