Показать / скрыть определенное поле на основе нажатия пользовательской кнопки в Django Admin

django-models У меня есть модель Django следующего вида:

class Webhook(models.Model):
    uuid = models.UUIDField(default=uuid.uuid4, editable=False)
    url = models.CharField(max_length=256)
    credentials = models.JSONField(null=True, blank=True, default=dict)

@admin.register(models.Webhook)
class WebhookAdmin(admin.ModelAdmin):
    list_display = ("id", "uuid", "url")
    fields = ("uuid", "url", "toggle_credentials_button", "credentials")
    readonly_fields = ("uuid", "toggle_credentials_button")

    def toggle_credentials_button(self, obj):
        return format_html("""<a class="button">Toggle Credentials</a>&nbsp""")

    toggle_credentials_button.allow_tags = True

Django Model Change Page Screenshot

Кнопка Toggle Credentials, показанная на скриншоте, является пользовательской кнопкой. Я хочу показывать/скрывать поле credentials на основе нажатия/переключения кнопки Toggle Credentials, т.е. если поле credentials в данный момент отображается, то скрыть поле после нажатия кнопки и наоборот.

По умолчанию поле credentials всегда должно быть скрыто, когда пользователь посещает страницу, показанную на скриншоте, т.е. отображение поля credentials не должно сохраняться. Если пользователь нажал кнопку Toggle Credentials, чтобы показать поле credentials, затем вернулся на другие страницы и снова зашел на эту же страницу, то он должен снова нажать кнопку, чтобы увидеть поле credentials.

Также обратите внимание, что я не буду использовать это в UI или Frontend, поэтому мне нужно, чтобы функциональность работала только в Django Admin.

Как я могу выполнить это требование? Любая помощь будет оценена по достоинству. Спасибо.

Также я не очень хорошо разбираюсь в Django, поэтому если кто-то найдет какую-либо ошибку в моем коде, пожалуйста, дайте мне знать.

Вернуться на верх