1

django autocomplete_light を使用して、に挿入された値をオートコンプリートしていますForeignKeyField。メソッドに渡された引数に基づいて、提案に追加のフィルタリングを適用したいと考えています__init__

これが私のフォームです

class CamenuForm(autocomplete_light.ModelForm):
  class Meta:
   model = Ca_dispensaries_item
   autocomplete_fields = ('item',)

def __init__(self, *args, **kwargs):
    self.category = kwargs.pop('category', None)
    super(CamenuForm, self).__init__(*args, **kwargs)
    self.fields['item'].queryset=Items.objects.filter(product_type__name=self.category)
    for field_name in self.fields:
        field = self.fields.get(field_name)
        if field:
            field.widget.attrs.update({
                'placeholder': field.label,
                'class': 'form-control'
                })

レジストリはこちら

autocomplete_light.register(Items, search_fields=('item_name',))

__init__これは、オートコンプリートでは機能しないように見えるメソッドのこの行です。ここでフィルターを使用しましたが、提案はフィルター処理されません。

self.fields['item'].queryset=Items.objects.filter(product_type__name=self.category)
4

0 に答える 0