data export in admin

This commit is contained in:
Tom Irgang 2023-04-24 08:20:59 +02:00
parent e5aacf7e19
commit c74e09585f

View file

@ -2,20 +2,72 @@
Admin interface configuration for RepApp. Admin interface configuration for RepApp.
""" """
from django.contrib import admin from django.contrib import admin
from import_export.admin import ImportExportModelAdmin from import_export.admin import ImportExportModelAdmin, ExportActionMixin
from import_export import resources
from .models import (Organisator, Cafe, Question, Device, from .models import (Organisator, Cafe, Question, Device,
Reparateur, Appointment, Guest, Candidate) Reparateur, Appointment, Guest, Candidate)
class DeviceAdmin(ImportExportModelAdmin): class GuestResource(resources.ModelResource):
resource_classes = [Device] class Meta:
model = Guest
@staticmethod
def get_display_name():
return "Gäste"
class DeviceResource(resources.ModelResource):
class Meta:
model = Device
@staticmethod
def get_display_name():
return "Geräte"
class QuestionResource(resources.ModelResource):
class Meta:
model = Question
@staticmethod
def get_display_name():
return "Fragen"
class AppointmentResource(resources.ModelResource):
class Meta:
model = Appointment
@staticmethod
def get_display_name():
return "Termine"
class CandidateResource(resources.ModelResource):
class Meta:
model = Candidate
@staticmethod
def get_display_name():
return "Kandidaten"
class ExportAdmin(ImportExportModelAdmin, ExportActionMixin):
resource_classes = [
DeviceResource,
GuestResource,
QuestionResource,
AppointmentResource,
CandidateResource,
]
admin.site.register(Organisator) admin.site.register(Organisator)
admin.site.register(Cafe) admin.site.register(Cafe)
admin.site.register(Question) admin.site.register(Question, ExportAdmin)
admin.site.register(Guest) admin.site.register(Guest, ExportAdmin)
admin.site.register(Device, DeviceAdmin) admin.site.register(Device, ExportAdmin)
admin.site.register(Reparateur) admin.site.register(Reparateur)
admin.site.register(Appointment) admin.site.register(Appointment, ExportAdmin)
admin.site.register(Candidate) admin.site.register(Candidate, ExportAdmin)