Spaces:
Sleeping
Sleeping
| from django.contrib import admin | |
| from .models import Cart, CartItem, Order, OrderItem, Payment | |
| class CartItemInline(admin.TabularInline): | |
| model = CartItem | |
| extra = 0 | |
| readonly_fields = ("box", "quantity", "subtotal") | |
| class CartAdmin(admin.ModelAdmin): | |
| list_display = ("id", "user", "created_at", "total_amount_display") | |
| inlines = [CartItemInline] | |
| def total_amount_display(self, obj): | |
| return obj.total_amount | |
| total_amount_display.short_description = "Total Amount" | |
| class OrderItemInline(admin.TabularInline): | |
| model = OrderItem | |
| extra = 0 | |
| readonly_fields = ("box", "quantity", "unit_price", "subtotal") | |
| class OrderAdmin(admin.ModelAdmin): | |
| list_display = ("order_number", "user", "total_amount", "status", "created_at") | |
| list_filter = ("status", "created_at") | |
| search_fields = ("user__user__email",) | |
| inlines = [OrderItemInline] | |
| readonly_fields = ("order_number", "created_at") | |
| class PaymentAdmin(admin.ModelAdmin): | |
| list_display = ("order", "payment_method", "status", "transaction_id", "paid_at") | |
| list_filter = ("payment_method", "status") | |
| search_fields = ("order__order_number", "transaction_id") | |