django-autocomplete-light - como retornar um campo diferente da chave primária de um modelo?
Estou usando django-autocomplete-light
em um formulário para um modelo, quero usar o preenchimento automático em um de seus campos. o campo não é uma chave estrangeira ou algo assim, mas apenas um campo inteiro e, para o preenchimento automático, eu realmente gostaria de usar o mesmo modelo que o formulário que estou preenchendo.
O conjunto de consultas do preenchimento automático, no entanto, retorna o ID e desejo preencher o campo "projektnummer".
Alguma pista de como eu posso configurar o preenchimento automático para que ele retorne não a chave primária do modelo, mas algum outro campo?
também parece que recebo uma falha com fio de formulários crocantes quando uso o widget de preenchimento automático no campo inteiro.
models.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)
[...]
views.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
forms.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'),
}