Функция автозаполнения django-ajax-selects не работает с inlineformset_factory
Возможно ли использовать функцию автозаполнения из django-ajax-selects
(https://github.com/crucialfelix/django-ajax-selects) с помощью inlineformset_factory
? В моем случае автозаполнение не работает, когда я пишу письмо, оно ничего не ищет...
Это мой forms.py:
class FormulariMostra(ModelForm):
class Meta:
model = Sample
fields = ("name", "sample_id_sex",)
class FormulariPoolIndexList(ModelForm):
class Meta:
model = SamplePoolIndexCand
fields = ("pool_id", "index_id", "gene_cand_list_id",)
pool_id = AutoCompleteSelectField('pool_tag')
index_id = AutoCompleteSelectField('index_tag')
gene_cand_list_id = AutoCompleteSelectField('list_tag')
PoolIndexListFormset = inlineformset_factory(Sample, SamplePoolIndexCand,
form=FormulariPoolIndexList, extra=2,)
Мой models.py
:
Мой views.py
:
class SampleForm(CreateView):
form_class = FormulariMostra
template_name = 'sample/formulari_mostra.html'
def get_context_data(self, **kwargs):
context = super(SampleForm, self).get_context_data(**kwargs)
context['pool_index_list_formset'] = PoolIndexListFormset()
return context
def post(self, request, *args, **kwargs):
self.object = None
form_class = self.get_form_class()
form = self.get_form(form_class)
pool_index_list_formset = PoolIndexListFormset(self.request.POST)
if form.is_valid() and pool_index_list_formset.is_valid():
return self.form_valid(form, pool_index_list_formset)
else:
return self.form_invalid(form, pool_index_list_formset)
def form_valid(self, form, pool_index_list_formset):
self.object = form.save(commit=False)
self.object.save()
pool_index_list = pool_index_list_formset.save(commit=False)
for meta in pool_index_list:
meta.sample_id = self.object
meta.save()
return redirect("/sample_form/")
def form_invalid(self, form, pool_index_list_formset):
return self.render_to_response(
self.get_context_data(form=form,
pool_index_list_formset=pool_index_list_formset
)
)
Мой lookups.py
:
**@register('pool_tag')
class PoolLookup(LookupChannel):
model = Pool
def get_query(self, q, request):
return self.model.objects.filter(name__icontains=q).order_by('name')[:50]
def format_item_display(self, item):
return u"<span class='tag'>%s</span>" % item.name
@register('index_tag')
class IndexLookup(LookupChannel):
model = Index
def get_query(self, q, request):
return self.model.objects.filter(index_name__icontains=q).order_by('index_name')[:50]
def format_item_display(self, item):
return u"<span class='tag'>%s</span>" % item.index_name
@register('list_tag')
class IndexLookup(LookupChannel):
model = GeneCandList
def get_query(self, q, request):
return self.model.objects.filter(name__icontains=q).order_by('name')[:50]
def format_item_display(self, item):
return u"<span class='tag'>%s</span>" % item.name**
Есть ли альтернатива?