From 8a68313e5e2a1bd530a7b69730be637818c73f44 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Fri, 13 Sep 2019 21:39:37 +1000 Subject: [PATCH] Customize admin export of Part object --- InvenTree/part/admin.py | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/InvenTree/part/admin.py b/InvenTree/part/admin.py index e7489c9810..d0496fee4c 100644 --- a/InvenTree/part/admin.py +++ b/InvenTree/part/admin.py @@ -1,5 +1,7 @@ from django.contrib import admin -from import_export.admin import ImportExportModelAdmin +from import_export.admin import ImportExportModelAdmin, ImportExportActionModelAdmin +from import_export.resources import ModelResource +from import_export.fields import Field from .models import PartCategory, Part from .models import PartAttachment, PartStar @@ -7,8 +9,35 @@ from .models import BomItem from .models import PartParameterTemplate, PartParameter +class PartResource(ModelResource): + """ Class for managing Part model export """ + + # Constuct some extra fields for export + category = Field(attribute='category__pk', column_name='Category') + + category_name = Field(attribute='category__name', column_name='Category Name') + + default_location = Field(attribute='default_location__pk', column_name='Default Location') + + default_supplier = Field(attribute='default_supplier__pk', column_name='Default Supplier') + + in_stock = Field(attribute='total_stock') + + on_order = Field(attribute='on_order') + + variant_of = Field(attribute='variant_of__pk') + + class Meta: + model = Part + exclude = [ + 'bom_checksum', 'bom_checked_by', 'bom_checked_date' + ] + + class PartAdmin(ImportExportModelAdmin): + resource_class = PartResource + list_display = ('full_name', 'description', 'total_stock', 'category')