from django.contrib import admin from .models import Category, Checklist, GlobalSettings, PaymentMethod, PromoCode, User, Image @admin.register(User) class UserAdmin(admin.ModelAdmin): list_display = ('email', 'job_title', 'full_name',) @admin.register(Category) class CategoryAdmin(admin.ModelAdmin): list_display = ('slug', 'name') ordering = ('id',) @admin.register(Image) class ImageAdmin(admin.ModelAdmin): pass @admin.register(Checklist) class ChecklistAdmin(admin.ModelAdmin): list_display = ('id', 'date', 'price_rub', 'commission_rub') filter_horizontal = ('images',) def date(self, obj: Checklist): return obj.status_updated_at or obj.created_at def get_queryset(self, request): return Checklist.objects.with_base_related().annotate_price_rub().annotate_commission_rub() @admin.register(GlobalSettings) class GlobalSettingsAdmin(admin.ModelAdmin): pass @admin.register(PaymentMethod) class PaymentMethodAdmin(admin.ModelAdmin): list_display = ('name', 'slug') @admin.register(PromoCode) class PromoCodeAdmin(admin.ModelAdmin): list_display = ('name', 'discount', 'free_delivery', 'no_comission')