2015-03-06 2 views
0

Я использую django-import-export для экспорта пользователей из интерфейса администратора пользователя django.django-import-export для экспорта подмножества полей

Я хочу ограничить количество полей, присутствующих в экспорте.

Глядя на the docs, я попытался следующие:

class UserResource(resources.ModelResource): 
    class Meta: 
     model = User 
     fields = ('first_name', 'last_name', 'email') 

class UserAdmin(ExportMixin, UserAdmin): 
    pass 

admin.site.unregister(User) 
admin.site.register(User, UserAdmin) 

Из питона оболочки, это, кажется, работает хорошо, следующий код

export = UserResource().export() 
print export.csv 

производит вывод, который содержит только 3 поля I просил.

Однако экспорт из интерфейса администратора по-прежнему содержит все поля пользователя.

Как ограничить количество полей, экспортируемых через интерфейс администратора?

ответ

0

Видимо, мне нужно было RTFM ... Я нашел ответ в docs.

Назначение resource_class в UserAdmin сделал трюк:

class UserAdmin(ExportMixin, UserAdmin): 
    resource_class = UserResource 
    pass 

возгласы ликования.

0

Вы можете использовать

exclude = ('abc','def', 'ijk') 

Предположим, вы хотите экспортировать только 'first_name' & 'last_name'. Затем

class UserResource(resources.ModelResource): 
    class Meta: 
     model = User 
     fields = ('first_name', 'last_name', 'email') 
     exclude = ('email') 
Смежные вопросы