Я пытаюсь получить данные, заполнив форму, используя ajax вызов. Прежде всего, я создал мой models.py:
class Costi_materiale(models.Model):
codice_commessa=models.ForeignKey(Informazioni_Generali, on_delete=models.CASCADE, null=True)
numero_lavorazione=models.ForeignKey(Lavorazione, on_delete=models.CASCADE, null=True)
The forms.py:
class CostiMaterialeForm(forms.ModelForm):
class Meta:
model = Costi_materiale
fields = "__all__"
И, наконец, мой views.py:
class CostiRicavi(ListView):
model = Costi_materiale
template_name = 'commesse/costiericavi.html'
context_object_name = 'costs'
def get_context_data(self, **kwargs):
context = super(CostiRicavi, self).get_context_data(**kwargs)
context.update({
'form_1': CostiMaterialeForm(),
})
return context
class Costi_materiale(View):
def get(self, request):
codice_commessa1 = request.GET.get('codice_commessa', None)
numero_lavorazione1 = request.GET.get('numero_lavorazione', None)
obj = Costi_materiale.objects.create(
codice_commessa = codice_commessa1,
numero_lavorazione = numero_lavorazione1,
)
info = {
'id':obj.id,
'codice_commessa':obj.codice_commessa,
'numero_lavorazione':obj.numero_lavorazione,
}
data = {'info': info}
return JsonResponse(data)
После того, как я создал свой шаблон, в который я поместил форму (используя хрустящий код) и код jquery, как показано ниже:
<form id="addCostoMateriale">
{% csrf_token %}
<div class="form-row">
<div class="form-group col-2 0 mb-0" >
{{form_1.codice_commessa|as_crispy_field}}
</div>
.........
$("form#addCostoMateriale").submit(function() {
var codice_commessaInput = $('input[name="codice_commessa"]').val().trim();
var numero_lavorazioneInput = $('input[name="numero_lavorazione"]').val().trim();
if (codice_commessaInput && numero_lavorazioneInput) {
// Create Ajax Call
$.ajax({
url: '{% url "costi_materiale" %}',
data: {
'codice_commessa': codice_commessaInput,
'numero_lavorazione': numero_lavorazioneInput,
},
dataType: 'json',
success: function (data) {
if (data.info) {
appendToUsrTable(data.info);
}
}
});
} else {
alert("All fields must have a valid value.");
}
$('form#addCostoMateriale').trigger("reset");
return false;
});
Запрос получает (200 17416), но вызов ajax нет. Поэтому, если я попытаюсь отправить новый запрос, моя база данных не будет обновлена. Я ищу где проблемы, но ничего не нашел. Где ошибки?