¿Exportar solo las columnas de list_display con nombres legibles?
Hola, soy nuevo en Django, así que tengo una pregunta básica.
En mi clase admin añadí ExportMixin y quiero guardar el archivo de Excel con mis columnas list_display y nombres explícitos.
No quiero la columna de identificación ni, digamos, si tengo una columna de estado que dice seguir o no hacer nada, pero muestro 0-1 bajo el estado.
Todavía estoy buscando la respuesta, ¡por favor ayúdame! 🙂
Mi código:
@admin.register(Ico)
class IcoAdmin(ExportMixin, BaseAdmin):
list_display = (
‘account’, ‘pair’, ‘amount’, ‘ico_situation’, ‘expire_date’, ‘price’,
‘token_amount’, ‘reference_user’, ‘get_reference_user_income’)
list_filter = (‘account’, ‘account__is_bot’)
search_fields = (‘account_id’, ‘wallet_id’, ‘ico_situation’)
raw_id_fields = ('account', 'pair', 'wallet', 'reference_user')
Mi tabla de Excel:
id | cuenta | monedero | par | cantidad | cantidad_token | cantidad_token_final | fecha_vencimiento | estado | situacion_ico | precio | codigo_referencia | usuario_referencia |
---|---|---|---|---|---|---|---|---|---|---|---|---|
152 | 111 | 789 | 12 | 100 | 400 | 0 | 2022-03-17 | 1 | 1 | 0,25 | ||
151 | 111 | 789 | 12 | 100 | 200 | 0 | 2021-11-17 | 1 | 0 | 0,5 | ||
150 | 111 | 789 | 12 | 100 | 200 | 0 | 2021-11-17 | 1 | 0 | 0,5 | 2 | |
149 | 111 | 789 | 12 | 100 | 200 | 0 | 2021-11-17 | 1 | 0 | 0,5 | ||
148 | 111 | 789 | 12 | 100 | 200 | 0 | 2021-11-17 | 1 | 0 | 0,5 | 2 | |
147 | 111 | 789 | 12 | 100 | 200 | 0 | 2021-11-17 | 1 | 0 | 0,5 | ||
146 | 111 | 789 | 12 | 100 | 200 | 0 | 2021-11-17 | 1 | 0 | 0,5 | 2 |
Tabla que quiero:
(https://ibb.co/8YpQ0S1)
Gracias por la ayuda 🙂
davy.ai
Parece que desea exportar un archivo de Excel con las columnas de su atributo
list_display
, junto con los nombres detallados para los camposstatus
yico_situation
.Puede utilizar la clase
ExportMixin
para lograr esto. Dicha clase proporciona un método llamadoget_export_data
, el cual puede usar para obtener los datos de sus camposlist_display
. Luego, puede usar el métodoget_export_headers
para obtener los nombres detallados de los camposstatus
yico_situation
. Por último, puede utilizar el métodoexport_as_xlsx
para guardar los datos en un archivo de Excel.Por ejemplo:
python
data = self.get_export_data()
headers = self.get_export_headers()
self.export_as_xlsx(data, headers)
Para obtener más información, por favor consulte la documentación de Django.