Django s2forms.ModelSelect2Widget не работает должным образом

hi all Я пытаюсь использовать ModelSelect2Widget Я установил сервер redis, который я тестировал и он работает. затем я установил следующий проект:

models.py

class Doctor(models.Model):
    user=models.OneToOneField(User,on_delete=models.CASCADE)
    status=models.BooleanField(default=True)
    def __str__(self):
        return "{} ({})".format(self.user.first_name,self.department)

class Patient(models.Model):
    user=models.OneToOneField(User,on_delete=models.CASCADE)
    assignedDoctorId = models.ForeignKey(Doctor, on_delete=models.CASCADE,related_name='doctor_assigned')
    admitDate=models.DateField(auto_now=True)
    status=models.BooleanField(default=False)
    def __str__(self):
        return self.user.first_name

form.py

class BaseAutocompleteSelect(s2forms.ModelSelect2Widget):
    class Media:
        js = ("admin/js/vendor/jquery/jquery.min.js",)

    def __init__(self, **kwargs):
        super().__init__(kwargs)
        self.attrs = {"style": "width: 300px"}

    def build_attrs(self, base_attrs, extra_attrs=None):
        base_attrs = super().build_attrs(base_attrs, extra_attrs)
        base_attrs.update(
            {"data-minimum-input-length": 10, "data-placeholder": self.empty_label}
        )
        return base_attrs
    
class DoctorAutocompleteWidget(BaseAutocompleteSelect):
    empty_label = "-- select doctor --"
    search_fields = ("username__icontains",)
    queryset=models.Doctor.objects.all().filter(status=True).order_by("id")    

class PatientForm(forms.ModelForm):
    assignedDoctorId=forms.ModelChoiceField(queryset=models.Doctor.objects.all().filter(status=True),
                                            widget=DoctorAutocompleteWidget)

но результаты - это пустой список введите описание изображения здесь при использовании

assignedDoctorId=forms.ModelChoiceField(queryset=models.Doctor.objects.all().filter(status=True),empty_label="Name and Department")

он показывает мне список, но я хотел бы использовать select2, чтобы использовать redis и строку поиска

Я хотел бы создать меню select и multiselect с панелью поиска для изменения значения списка: в будущем я хотел бы сделать то же самое со списком таблиц и изменять опцию выпадающего меню, если пользователь вставляет строку в модуль ввода или выбирает опцию из другого выпадающего меню

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