Есть такая модель:
class Smartphone(Product):
diagonal = models.CharField(max_length=255, verbose_name='Диагональ')
display_type = models.CharField(max_length=255, verbose_name='Тип дисплея')
resolution = models.CharField(max_length=255, verbose_name='Разрешение экрана')
accum_volume = models.CharField(max_length=255, verbose_name='Объем батареи')
ram = models.CharField(max_length=255, verbose_name='Оперативная память')
sd = models.BooleanField(default=True, verbose_name='Наличие слота для карты SD')
sd_volume_max = models.CharField(max_length=255, null=True, blank=True, verbose_name='Максимальный объем SD карты')
main_cam_mp = models.CharField(max_length=255, verbose_name='Главная камера')
frontal_cam_mp = models.CharField(max_length=255, verbose_name='Фронтальная камера')
def __str__(self):
return f'{self.category.name} : {self.title}'
def get_absolute_url(self):
return get_product_url(self, 'product_detail')
и шаблон
{% extends 'admin/change_form.html' %}
{% load static %}
{% block admin_change_form_document_ready %}
{{ block.super }}
<script>
const button = document.getElementById('id_sd')
button.addEventListener('click', function() {
if (button.checked) {
console.log('yes')
} else {
console.log('no')
}
})
</script>
{% endblock %}
нужно:
Если НЕ стоит галочка на поле sd = models.BooleanField(default=True, verbose_name='Наличие слота для карты SD'),
то Не отображается поле sd_volume_max = models.CharField(max_length=255, null=True, blank=True, verbose_name='Максимальный объем SD карты')
Соответственно, если стоит галочка, то и второе поле активно