Files
goodtimes/manage_subscriptions/admin.py
rizwanisready db213d3228 wrong commit
2024-02-29 13:25:50 +05:30

30 lines
1.5 KiB
Python

from django.contrib import admin
from .models import Plan, PrincipalSubscription, Subscription # Update this with the correct import path for your models
# Plan ModelAdmin
class PlanAdmin(admin.ModelAdmin):
list_display = ('id', 'title', 'days') # Include 'id' field here
search_fields = ('title',) # Add search functionality by title
# Register Plan with the admin site
admin.site.register(Plan, PlanAdmin)
# Subscription ModelAdmin
class SubscriptionAdmin(admin.ModelAdmin):
list_display = ('id', 'title', 'plan', 'amount') # Include 'id' field here
list_select_related = ('plan',) # Optimizes queries for the plan field
search_fields = ('title', 'plan__title') # Add search functionality by title and plan's title
raw_id_fields = ('plan',) # Use a raw ID widget for the plan ForeignKey field
# Register Subscription with the admin site
admin.site.register(Subscription, SubscriptionAdmin)
class PrincipalSubscriptionAdmin(admin.ModelAdmin):
list_display = ('id', 'subscription', 'principal', 'is_paid', 'auto_renew', 'status', 'start_date', 'end_date')
list_filter = ('is_paid', 'auto_renew', 'status', 'cancelled') # Enable filtering by these fields
search_fields = ('subscription__title', 'principal__name', 'order_id') # Adjust 'principal__name' as necessary
raw_id_fields = ('subscription', 'principal') # Use raw ID widget for these ForeignKey fields
date_hierarchy = 'start_date' # Enables a date drill down by start_date
admin.site.register(PrincipalSubscription, PrincipalSubscriptionAdmin)