Change color for StackedInline?
I'd like to change background color for these headers for different color (not white):

Like this:

My models:
from django.core.validators import MinValueValidator, MaxValueValidator
from django.db import models
class Request(models.Model):
class Method(models.TextChoices):
POST = "POST", "POST"
GET = "GET", "GET"
PUT = "PUT", "PUT"
DELETE = "DELETE", "DELETE"
name = models.CharField(verbose_name="Название", null=True, blank=True, max_length=256, help_text="Не обязательно")
method = models.CharField(
max_length=10,
choices=Method,
default=Method.GET,
verbose_name="Метод"
)
url = models.CharField(verbose_name="Путь", max_length=1024, help_text="Часть после домена, без query-параметров")
def __str__(self):
return self.name or f"{self.method} {self.url}"
class Response(models.Model):
name = models.CharField(max_length=128, null=True, verbose_name="Название")
status_code = models.PositiveIntegerField(verbose_name="Код")
body = models.JSONField(verbose_name="Тело", blank=True, null=True)
request = models.ForeignKey(Request, on_delete=models.CASCADE, related_name="responses", verbose_name="Запрос")
class Meta:
verbose_name = "Ответ"
verbose_name_plural = "Ответы"
def __repr__(self):
return self.name or f"{self.request.method} {self.request.url}"
@property
def query_parameters(self):
return {param.key: param.value for param in self.params.all()}
class RequestParam(models.Model):
key = models.CharField(verbose_name="Название", max_length=128)
value = models.CharField(verbose_name="Значение", max_length=128)
response = models.ForeignKey(Response, on_delete=models.CASCADE, related_name="params")
My admin.py:
from django.contrib import admin
from django.urls import reverse
from django.utils.safestring import mark_safe
from app.server.models import Request, RequestParam, Response
class RequestParamInline(admin.TabularInline):
model = RequestParam
extra = 1
@admin.register(Response)
class ResponseAdmin(admin.ModelAdmin):
inlines = [RequestParamInline]
class ResponseInline(admin.StackedInline):
model = Response
extra = 1
show_change_link = True
verbose_name = "Вариант ответ"
verbose_name_plural = "Варианты ответов"
fields = ["status_code", "body", "summary"]
readonly_fields = ["summary"]
def get_queryset(self, request):
self.request = request
return super().get_queryset(request)
@admin.display(description="Ожидаемый запрос")
def summary(self, obj: Response):
url = self.request.build_absolute_uri(reverse("dispatch", query=obj.query_parameters, args=["test"]))
change_url = mark_safe(reverse("admin:server_response_change", args=[obj.id]))
return mark_safe(f'<b>{self.request.method} {url}<br><br><i><a href="{change_url}">отредактировать параметры →</a></i></b>')
@admin.register(Request)
class RequestAdmin(admin.ModelAdmin):
list_display = ['id', 'edit', '__str__']
inlines = [ResponseInline]
search_fields = ["url"]
list_display_links = ["edit"]
@admin.display(description="")
def edit(self, obj):
return "Редактировать"
How to achieve this?