Я хотел бы использовать django-autocomplete-light, чтобы автозаполнять некоторые поля из внешней базы данных, которые нельзя настроить в соответствии с требованиями DjangoORM. Поэтому я использую SQL Alchemy для подключения к этому db.django-autocomplete-light using SQL Alchemy вместо Django ORM
Я не могу узнать, как это сделать. В качестве примера я хотел бы сделать автозаполнение использовать следующее вместо Django модели для таблицы (который не работает, потому что есть двойная ключевой столбец первичной и нет поля ID.
query = (session.query(TableA.FIRSTNAME).distinct(TableA.FIRSTNAME)
.filter(TableA.FIRSTNAME.match(name)))
data = query.limit(100).all()
Эффективно я хотел бы сделать поле автозаполнения имен из моего вышеупомянутого запроса Вместо того, чтобы использовать СМО Django, как показано в документации:.
class CountryAutocomplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
# Don't forget to filter out results depending on the visitor !
if not self.request.user.is_authenticated():
return Country.objects.none()
qs = Country.objects.all()
if self.q:
qs = qs.filter(name__istartswith=self.q)
return qs
class PersonForm(forms.ModelForm):
birth_country = forms.ModelChoiceField(
queryset=Country.objects.all(),
widget=autocomplete.ModelSelect2(url='country-autocomplete')
)