Cześć,
Mam sobie w Django formularz i skrypt AJAX, który dodaje mi do tabeli pewne wartości. Problem pojawia się wtedy, gdy chcę wyczyścić fomularz po wysłaniu danych - nie czyści pól w formularzu i nie rzuca błędami w konsoli. Mógłby ktoś rzucić okiem i wskazać gdzie robię błąd? Dzięki.
forms.py
class AddItemForm(forms.ModelForm):
class Meta:
model = Item
fields = '__all__'
widgets = {
'name': forms.TextInput(attrs={'class':'form-control', 'style': 'width:150px'}),
'category': forms.Select(attrs={'class':'form-control', 'style': 'width:150px'}),
'calories': forms.TextInput(attrs={'class':'form-control', 'style': 'width:100px'}),
'proteins': forms.TextInput(attrs={'class':'form-control', 'style': 'width:100px'}),
'fats': forms.TextInput(attrs={'class':'form-control', 'style': 'width:100px'}),
'carbohydrates': forms.TextInput(attrs={'class':'form-control', 'style': 'width:100px'}),
}
skrypt AJAX
function save_data() {
var token = "{{csrf_token}}";
var name = $("#id_name").val();
var category = $("#id_category").val();
var calories = $("#id_calories").val();
var proteins = $("#id_proteins").val();
var fats = $("#id_fats").val();
var carbohydrates = $("#id_carbohydrates").val();
$.ajax({
type: "POST",
headers: { "X-CSRFToken": token },
url: "{% url 'ajaxsaved' %}",
data: { name: name, category: category, calories: calories,
carbohydrates: carbohydrates, fats: fats, proteins: proteins },
success: function(data){
$("#id_name")[0].reset();
},
error: function (data) {
$("#id_name")[0].reset();
},
});
}
Dodatkowo rzuca mi w konsoli błędem (po wybraniu kategorii z formularza)
ValueError: Cannot assign "'1'": "Item.category" must be a "Category" instance.