Использование поля автозаполнения ввода jQuery UI в Django

Я пытаюсь создать поле ввода текста с автозаполнением в классе ModelForm, поэтому я нашел библиотеку jQuery UI, чтобы сделать часть поля ввода с автозаполнением, и вот что я сделал до сих пор, но это не сработало со мной, поэтому не могли бы вы проверить это и помочь мне?

Это мой model.py файл:

class Frequency(models.Model):
    EN_frequency = models.CharField(max_length=100, null=True)

    def __str__(self):
        return self.EN_frequency

class MedicinePrescription(models.Model):
    medicine = models.ForeignKey(Medicine, null=True, on_delete=CASCADE)
    prescription = models.ForeignKey(
        Prescription, null=True, on_delete=SET_NULL)
    frequency = models.ForeignKey(Frequency, null=True, on_delete=CASCADE)

Это мой urls.py файл:

path('CreatePatientPrescriptionForm/<int:pk>/', views.CreatePatientPrescriptionFormView.as_view(),
         name='CreatePatientPrescriptionForm'),

Это мой views.py файл:

class CreatePatientPrescriptionFormView(CreateView):

    template_name = 'MedCareApp/patientPrescription-form.html'
    model = Prescription
    form_class = PatientPrescriptionForm

    def get_frequency_list(request):
        if 'term ' in request.GET:
            queryset = Frequency.objects.filter(
                EN_frequency__istartswith=request.GET.get('term'))

        titles = list()
        for frequency in queryset:
            titles.append(frequency.EN_frequency)
            return JsonResponse(titles, safe=False)
        return request

    def get_form_kwargs(self):
        kwargs = super().get_form_kwargs()
        random_user = User.objects.get(id=1)
        kwargs.update({
            'medicine_choices': get_medicine_list(random_user),
            'frequency': self.get_frequency_list()

        })
        return kwargs

Это мой template.html файл:

<script>
  $( function() {
    $( "#id_frequency" ).autocomplete({
      source: '{% url '+CreatePatientPrescriptionForm+' %}'
    });
  } );
  </script>

Это мой forms.py файл:

class PatientPrescriptionForm (ModelForm):
    frequency = forms.CharField()

    class Meta:
        model = MedicinePrescription
        fields = ['frequency']

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields['frequency'].widget.attrs.update(
            {'class': 'text-field small w-input',  'maxlength': '256', 'placeholder': 'Frequency'})
Вернуться на верх