¿Cómo ocultar / mostrar un campo al seleccionar un botón de opción en django admin?
models.py
from django.db import models
from django.contrib.auth.models import User
STATUS_CHOICES = ((1, 'Accepted'),(0, 'Rejected'),)
class Leave(models.Model):
----
----
----
----
status = models.IntegerField(choices=STATUS_CHOICES, default = 0)
reason_reject = models.CharField(('reason for rejection'),max_length=50, blank=True)
def __str__(self):
return self.name
admin.py
from django.contrib import admin
from .models import Leave
@admin.register(Leave)
class LeaveAdmin(admin.ModelAdmin):
------
------
-----
class Media:
js = ('/static/admin/js/admin.js')
- admin.js
(function($) {
$(function() {
var reject = document.getElementById('id_status_0')
var accept = document.getElementById("id_status_1")
var reason_reject = document.getElementById("id_reason_reject")
if (accept.checked == true){
reason_reject.style.display = "none"
}
else{
reason_reject.style.display = "block"
}
});
})(django.jQuery);
Ahora he importado el archivo en admin.py, ¿cómo puedo activar la función jQuery para que funcione?
actualizar
la función funciona, pero necesito volver a cargar la página para que el campo aparezca y desaparezca. Quiero algo equivalente a'on-click'
evento en HTML. No tengo idea sobre Javascript.