class TeamJira(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class TypeJira(models.Model):
category = models.ForeignKey(TeamJira, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
def __str__(self):
return self.name
TEAM_CHOICE = (
('NetEng', 'NetEng'),
('ITDE', 'ITDE'),
)
class JiraAutomation(models.Model):
name = models.CharField(max_length=255, null=True, blank=True, default=None)
team_type = models.CharField(max_length=100, null=True, blank=True, default=None, choices=TEAM_CHOICE) # Change to CharField
ticket_type = models.CharField(max_length=255, null=True, blank=True, default=None)
url = models.CharField(max_length=255, null=True, blank=True, default=None)
isbn_number = models.CharField(max_length=13)
def __str__(self):
return self.name
My views.py function for the dependent dropdown ajax query:
from .models import TypeJira
from django.http import JsonResponse
def load_subcategories(request):
category_id = request.GET.get('category_id')
subcategories = TypeJira.objects.filter(category_id=category_id).values('id', 'name')
print("THIS IS SUBCATEG", subcategories)
print(list(subcategories))
return JsonResponse(list(subcategories), safe=False)
# return HttpResponse("hello")
Javascript function for ajax in the template:
<form method="post" id="dropdown-form">
{% csrf_token %}
{{ form.as_p }}
</form>
<script>
$(document).ready(function() {
$('select[name^="form-0-team_type"]').change(function() {
var categoryId = $(this).val();
$.ajax({
url: '/load_subcategories/',
data: {
'category_id': categoryId
},
dataType: 'json',
success: function(data) {
var subcategorySelect = $('select[name^="form-0-ticket_type"]');
subcategorySelect.empty();
$.each(data, function(index, subcategory) {
subcategorySelect.append($('<option>', {
value: subcategory.id,
text: subcategory.name
}));
});
}
});
});
});
</script>