from django.contrib import admin from polymorphic.admin import ( PolymorphicParentModelAdmin, PolymorphicChildModelAdmin, PolymorphicChildModelFilter, ) from .models import AuthorBalance, CoursePayment, SchoolPayment, Payment @admin.register(AuthorBalance) class AuthorBalanceAdmin(admin.ModelAdmin): list_display = ( 'author', 'type', 'amount', 'commission', 'status', 'payment', ) class PaymentChildAdmin(PolymorphicChildModelAdmin): base_model = Payment show_in_index = True base_fieldsets = ( (None, {'fields': ('user', 'amount', 'status', 'data',)}), ) readonly_fields = ('amount', 'status', 'data',) @admin.register(CoursePayment) class CoursePaymentAdmin(PaymentChildAdmin): base_model = CoursePayment @admin.register(SchoolPayment) class SchoolPaymentAdmin(PaymentChildAdmin): base_model = SchoolPayment @admin.register(Payment) class PaymentAdmin(PolymorphicParentModelAdmin): base_model = Payment polymorphic_list = True child_models = ( CoursePayment, SchoolPayment, )