es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo añadir importación y exportación a una tabla y también ordenar las columnas en Django?

Quiero agregar un botón de importar/exportar y, al mismo tiempo, ordenar las columnas de la tabla.

class OrderEtudiant(admin.ModelAdmin):
     list_display = ('id_etudiant', 'nom_etudiant', 'prenom_etudiant', 'Telephone', 'Adresse', 'Filiere')
     search_fields = ('nom_etudiant',)

class userdat(ImportExportModelAdmin):
     pass

admin.site.register(Etudiant, userdat, OrderEtudiant)

Aquí está el problema, no puedo pasar tres parámetros.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para agregar la funcionalidad de importación y exportación y ordenar las columnas de la tabla en Django, puede crear una clase ModelAdmin personalizada que herede tanto de ImportExportModelAdmin como del ModelAdmin por defecto. Dentro de esta clase personalizada, puede definir los campos que se mostrarán, buscarán y ordenarán. Aquí hay un ejemplo:

    from import_export.admin import ImportExportModelAdmin
    from .models import Etudiant
    
    class CustomEtudiantAdmin(ImportExportModelAdmin, admin.ModelAdmin):
        list_display = ['id_etudiant', 'nom_etudiant', 'prenom_etudiant', 'Telephone', 'Adresse', 'Filiere']
        search_fields = ['nom_etudiant']
        ordering = ['nom_etudiant']
    
    admin.site.register(Etudiant, CustomEtudiantAdmin)
    

    En este ejemplo, creamos una clase ModelAdmin personalizada llamada CustomEtudiantAdmin que hereda tanto de ImportExportModelAdmin como de admin.ModelAdmin. Luego, definimos los campos que se mostrarán utilizando list_display, los campos que se buscarán utilizando search_fields y el orden en que las filas deben ordenarse utilizando ordering.

    Tenga en cuenta que no es necesario registrar ImportExportModelAdmin por separado, ya que ya está incluido en la definición de la clase personalizada. Además, asegúrese de importar los módulos y modelos necesarios en la parte superior de su archivo admin.py.

Comments are closed.