Я использую django-autocomplete-light
в форме для модели я хочу использовать автозаполнение в одном из ее полей. поле не является внешним ключом или чем-то еще, а просто целочисленным полем, и для автозаполнения я действительно хотел бы использовать ту же модель, что и форма, которую я заполняю.
Однако набор запросов из автозаполнения возвращает идентификатор, и я хочу заполнить поле «номер проекта».
Любая подсказка, как я могу настроить автозаполнение, чтобы оно возвращало не первичный ключ модели, а какое-то другое поле?
также кажется, что я получаю проводной сбой из-за хрустящих форм, когда я использую виджет автозаполнения для целочисленного поля.
модели.py
class KombiPublikation(models.Model):
typid = models.ForeignKey('KombiPublikationsTypMedium', verbose_name='Outputtyp', db_column='typid') # publikationstyp.id or publikationstypinfo.typid
[...]
projektnummer = models.IntegerField(verbose_name='Projektnr.', default=0, blank=True)
[...]
просмотры.py
class SearchProjectinFormAutocomplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
qs = KombiPublikation.objects.filter(typid__in=[222, 223, 224]).filter(zeigen=1)
if self.q:
qs = qs.filter(Q(projektnummer__contains=self.q))
return qs
формы.py
class KombiPublikationForm(forms.ModelForm):
class Meta:
model = KombiPublikation
#fields = []
exclude = ['pub_sprache']
widgets = {
'typid': autocomplete.ModelSelect2(url='output:typ-autocomplete', forward=['typtyp']),
'projektnummer': autocomplete.ModelSelect2(url='output:projekt-form-autocomplete'),
}