17 lines
795 B
Python
17 lines
795 B
Python
from django.contrib import admin
|
||
from .models import Rating
|
||
|
||
@admin.register(Rating)
|
||
class RatingAdmin(admin.ModelAdmin):
|
||
list_display = ('content_object', 'user', 'score', 'created_at')
|
||
list_filter = ('score', 'created_at', 'content_type')
|
||
search_fields = ('user__username', 'user__email', 'comment')
|
||
readonly_fields = ('created_at', 'updated_at')
|
||
|
||
# GenericForeignKey alanlarını admin panelinde daha düzgün göstermek için
|
||
# content_object alanını list_display'e ekledik, bu sayede hangi nesneye oy verildiği görülebilir.
|
||
|
||
def get_queryset(self, request):
|
||
# N+1 sorununu önlemek için related alanları prefetch edelim
|
||
return super().get_queryset(request).select_related('user', 'content_type').prefetch_related('content_object')
|