diff --git a/bigday/admin.py b/bigday/admin.py index 8128d11..002d100 100644 --- a/bigday/admin.py +++ b/bigday/admin.py @@ -1,12 +1,34 @@ from django.contrib import admin +from import_export import resources +from import_export.admin import ImportExportModelAdmin + from .models import InvitedGuest -class InvitedGuestAdmin(admin.ModelAdmin): +class ExportInvitedGuestResource(resources.ModelResource): + class Meta: + model = InvitedGuest + fields = ('name', 'attending') + export_order = ('name', 'attending') + exclude = 'rsvpCode' + +class ImportInvitedGuestResource(resources.ModelResource): + class Meta: + model = InvitedGuest + fields = ('name', 'rsvpCode') + skip_unchanged = True + report_skipped = False + import_id_fields = ['name'] + + +class InvitedGuestAdmin(ImportExportModelAdmin): + resource_class = ImportInvitedGuestResource fields = ['name', 'rsvpCode', 'attending'] list_display = ('name', 'rsvpCode', 'attending') search_fields = ['name'] list_filter = ['attending'] + def get_export_resource_class(self): + return ExportInvitedGuestResource admin.site.register(InvitedGuest, InvitedGuestAdmin) \ No newline at end of file diff --git a/djangoWedding/settings.py b/djangoWedding/settings.py index e3da871..aeef732 100644 --- a/djangoWedding/settings.py +++ b/djangoWedding/settings.py @@ -27,7 +27,6 @@ DEBUG = True ALLOWED_HOSTS = [] - # Application definition INSTALLED_APPS = [ @@ -37,6 +36,7 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'import_export', 'bigday' ] @@ -118,4 +118,4 @@ USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/2.2/howto/static-files/ -STATIC_URL = '/static/' +STATIC_URL = '/static/' \ No newline at end of file