diff --git a/headphones/admin.py b/headphones/admin.py index 03a94c9..3b5c98c 100644 --- a/headphones/admin.py +++ b/headphones/admin.py @@ -249,12 +249,27 @@ class BrandAdmin(admin.ModelAdmin): prepopulated_fields = {'slug': ('name',)} +class DriverInline(admin.TabularInline): + model = Driver + extra = 1 + fields = ('driver_type', 'driver_model', 'size', 'frequency_range') + autocomplete_fields = ['driver_type', 'driver_model'] + + +@admin.register(DriverModel) +class DriverModelAdmin(admin.ModelAdmin): + list_display = ('name', 'slug') + search_fields = ('name',) + prepopulated_fields = {'slug': ('name',)} + inlines = [DriverInline] + + @admin.register(Driver) class DriverAdmin(admin.ModelAdmin): - list_display = ('driver_type', 'size', 'frequency_range') + list_display = ('driver_type', 'driver_model', 'size', 'frequency_range') list_filter = ('driver_type',) - search_fields = ('driver_type__name', 'size', 'frequency_range') # Добавлено - autocomplete_fields = ['driver_type'] # Если нужно автозаполнение для типа + search_fields = ('driver_type__name', 'driver_model__name', 'size', 'frequency_range') # Добавлено + autocomplete_fields = ['driver_type', 'driver_model'] def get_queryset(self, request): return super().get_queryset(request).select_related('driver_type') @@ -449,9 +464,6 @@ class HeadphonesReviewAuthorInline(admin.StackedInline): filter_horizontal = ('resources',) - - - @admin.register(HeadphonesReview) class HeadphonesReviewAdmin(admin.ModelAdmin): list_display = (