Django Filter error select form invalid data

hi У меня проблема с фильтрацией поля select. Я знаю, что проблема кроется в форме, но я не понимаю, что мне нужно изменить, чтобы это работало. Кто-нибудь может дать мне решение или рассказать, как я могу протестировать форму с помощью печати, потому что я не понимаю, как ее протестировать.

form

class EserciziForm(forms.ModelForm):

    class Meta:
        model = models.DatiEsercizi
        exclude = ['gruppo_single']
    
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields['dati_esercizio'].queryset = models.DatiEsercizi.objects.none()

        if 'gruppo' in self.data:
            try:
                gruppo_id = int(self.data.get('gruppo_single'))
                self.fields['dati_esercizio'].queryset = DatiEsercizi.objects.filter(gruppo_single = gruppo_id)
            except (ValueError, TypeError):
                pass

просмотров

def caricamento_esercizi(request):
    gruppo_id = request.GET.get('gruppo')
    gruppo_name = DatiGruppi.objects.get(dati_gruppo = gruppo_id)
    esercizi_add = DatiEsercizi.objects.filter(gruppo_single = gruppo_name)
    context = {'esercizi_add': esercizi_add}
    return render(request, 'filtro_esercizi.html', context)

file html

$("#id_gruppo-dati_gruppo").change(function(){
      var gruppoId = $(this).val();
      var url = $("#creazione_scheda").attr("data-esercizi-url");

      $.ajax({
        url: url,
        data:{
          'gruppo': gruppoId
        },
        success: function(data){
          $(".esercizi select").html(data);
        }
      }); 
    });

модель

class Gruppi(models.Model):
  nome_gruppo = models.CharField(max_length=100)

  def __str__(self):
    return self.nome_gruppo


class Esercizi(models.Model):
  nome_esercizio = models.CharField(max_length=100) 

  gruppo = models.ForeignKey(
    Gruppi,
    on_delete = models.CASCADE, 
    related_name = 'gruppo'
  )

enter image description here

Вернуться на верх