django autocomplete light,口感清脆
我正在尝试在表单中的foreignkey字段上实现自动完成搜索。我已经看过了这些文件,但不确定我需要做什么才能让它工作。我只是在foreignkey字段上找到了正常的下拉框 以下是我的尝试: 设置.pydjango autocomplete light,口感清脆,django,django-autocomplete-light,Django,Django Autocomplete Light,我正在尝试在表单中的foreignkey字段上实现自动完成搜索。我已经看过了这些文件,但不确定我需要做什么才能让它工作。我只是在foreignkey字段上找到了正常的下拉框 以下是我的尝试: 设置.py INSTALLED_APPS = ( 'crispy_forms', 'autocomplete_light', ) url.py url(r'^autocomplete/', include('autocomplete_light.urls')), models.py cl
INSTALLED_APPS = (
'crispy_forms',
'autocomplete_light',
)
url.py
url(r'^autocomplete/', include('autocomplete_light.urls')),
models.py
class Client(models.Model):
...
class Branch(models.Model):
client = models.ForeignKey(Client, related_name='clients')
...
forms.py
import autocomplete_light
class BranchForm(autocomplete_light.ModelForm):
class Meta:
model = Branch
autocomplete_fields = ('client')
exclude = ('creation', 'last_modified')
form.html
<form method="POST" action="">{% csrf_token %}
{{ form|crispy }}
<input class="btn btn-primary" type="submit" value="Submit" />
<a href="{% url 'branch' %}"><button type="button" class="btn btn-danger">Cancel</button></a>
</form>
{%csrf\u令牌%}
{{form | crispy}}
最后终于明白了。需要注册它
autocomplete_light.register(Branch,
name = 'ClientAutocomplete',
choices = Client.objects.all()
)
class ClientForm(forms.ModelForm):
class Meta:
model = Client
exclude = ('creation', 'last_modified')
class BranchForm(autocomplete_light.ModelForm):
class Meta:
model = Branch
autocomplete_names = {'client':'ClientAutocomplete'}
exclude = ('creation', 'last_modified')