From e33f2cfdfac242b1238fa7e18e179443fc73e7b5 Mon Sep 17 00:00:00 2001 From: Max Yakovenko Date: Sat, 21 Jul 2018 11:47:13 +0300 Subject: [PATCH] add product and category admin models --- products/admin.py | 115 ++++++++++++++++++++++++---------------------- 1 file changed, 59 insertions(+), 56 deletions(-) diff --git a/products/admin.py b/products/admin.py index ee6311e..9a3f415 100644 --- a/products/admin.py +++ b/products/admin.py @@ -1,7 +1,9 @@ -# from django.contrib import admin -# from import_export import resources, fields, widgets -# from import_export.admin import ImportExportModelAdmin -# from .models import * +from django.contrib import admin +from import_export import resources, fields, widgets +from import_export.admin import ImportExportModelAdmin +from .models import Product, ProductCategory, ProductImage + + # # class CustomModelResource(resources.ModelResource): # def before_import_row(self, row, **kwargs): @@ -26,9 +28,9 @@ # # def clean(self, value, row=None, *args, **kwargs): # # return self.model.objects.get_or_create(name=value)[0] # -# # class ProductImageInline(admin.TabularInline): -# # model = ProductImage -# # extra = 0 +class ProductImageInline(admin.TabularInline): + model = ProductImage + extra = 0 # # # class ProductAttributeInline(admin.TabularInline): # # model = ProductAttribute @@ -49,11 +51,11 @@ # # verbose_name_plural = 'Offers' # # suit_classes = 'suit-tab suit-tab-offers' # -# class ProductCategoryAdmin(admin.ModelAdmin): -# list_display = [field.name for field in ProductCategory._meta.fields] -# -# class Meta: -# model = ProductCategory +@admin.register(ProductCategory) +class ProductCategoryAdmin(admin.ModelAdmin): + list_display = ('name','slug') + search_fields = ('name','slug') + # # # class AttributeChoiceValueAdmin(admin.ModelAdmin): # # list_display = [field.name for field in ProductCategory._meta.fields] @@ -142,53 +144,54 @@ # if obj.id: # return obj.str_choices() # -# @admin.register(Product) -# class ProductAdmin(ImportExportModelAdmin): -# list_display = ['id', 'name', 'category', 'manufacturer','status'] -# # inlines = [OfferInline] -# list_filter = ['status', 'create_at', 'updated_at', 'category'] -# search_fields = ['name', 'id'] +@admin.register(Product) +class ProductAdmin(ImportExportModelAdmin): + list_display = ['id', 'name', 'category', 'manufacturer','status'] + list_filter = ['status', 'create_at', 'updated_at', 'category'] + search_fields = ['name', 'id'] + + # resource_class = ProductResource + +# class OfferResource(CustomModelResource): +# name = fields.Field(column_name='name', attribute='name', +# default=None, +# widget=widgets.CharWidget(), +# ) # -# resource_class = ProductResource +# price = fields.Field(column_name='price', attribute='price', +# default=0, +# widget=widgets.DecimalWidget(), +# ) # -# # class OfferResource(CustomModelResource): -# # name = fields.Field(column_name='name', attribute='name', -# # default=None, -# # widget=widgets.CharWidget(), -# # ) -# # -# # price = fields.Field(column_name='price', attribute='price', -# # default=0, -# # widget=widgets.DecimalWidget(), -# # ) -# # -# # products = fields.Field(column_name='products', attribute='products', -# # widget=widgets.ForeignKeyWidget(Product, field='name'), -# # ) -# # -# # is_active = fields.Field(column_name='is_active', attribute='is_active', -# # default=1, -# # widget=widgets.BooleanWidget()) -# # -# # attributes = fields.Field(column_name='attributes', attribute='attributes', -# # default={}, -# # widget=widgets.CharWidget()) -# # -# # class Meta: -# # model = Offer -# # fields = ('name', 'products', 'price', 'is_active', 'attributes') -# # export_order = ('name', 'products', 'attributes', 'is_active', 'price') -# # import_id_fields = ('name',) -# -# # class OfferAdmin(ImportExportModelAdmin): -# # list_display = ['id', 'name', 'products', 'price', 'is_active', 'attributes'] -# # resource_class = OfferResource -# # class ProductImageAdmin(admin.ModelAdmin): -# # list_display = [field.name for field in ProductImage._meta.fields] -# # -# # class Meta: -# # model = ProductImage +# products = fields.Field(column_name='products', attribute='products', +# widget=widgets.ForeignKeyWidget(Product, field='name'), +# ) # +# is_active = fields.Field(column_name='is_active', attribute='is_active', +# default=1, +# widget=widgets.BooleanWidget()) +# +# attributes = fields.Field(column_name='attributes', attribute='attributes', +# default={}, +# widget=widgets.CharWidget()) +# +# class Meta: +# model = Offer +# fields = ('name', 'products', 'price', 'is_active', 'attributes') +# export_order = ('name', 'products', 'attributes', 'is_active', 'price') +# import_id_fields = ('name',) + +# class OfferAdmin(ImportExportModelAdmin): +# list_display = ['id', 'name', 'products', 'price', 'is_active', 'attributes'] +# resource_class = OfferResource + +# @admin.register(ProductImage) +# class ProductImageAdmin(admin.ModelAdmin): +# list_display = [field.name for field in ProductImage._meta.fields] +# +# class Meta: +# model = ProductImage + # # admin.site.register(ProductImage, ProductImageAdmin) # # admin.site.register(ProductCategory, ProductCategoryAdmin) # # admin.site.register(Product, ProductAdmin)