gpt4 book ai didi

使用 Select2 小部件的 django-autocomplete-light 初始数据

转载 作者:行者123 更新时间:2023-12-01 06:03:09 24 4
gpt4 key购买 nike

我有一个带有自动完成功能的表单字段(使用 django-autocomplete-light 应用程序和 Select2 小部件),它用作搜索过滤器并且按预期工作。

当我提交表单并列出搜索结果时,我想将此表单字段的初始值设置为以前提交的值 - 这样用户就可以调整一些搜索参数,而不是从头开始设置所有搜索过滤器。

此表单字段将用于选择 ~10000 个值之一,因此我需要它来按需加载值。由于表单字段没有预先填充任何值,我不知道如何设置初始值。

模型.py

class Location(models.Model):
place = models.CharField(max_length=50)
postal_code = models.CharField(max_length=5)

View .py
class LocationAutocomplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
qs = Location.objects.all()
if self.q:
qs = qs.filter(place__istartswith=self.q) | qs.filter(postal_code__istartswith=self.q)
return qs

表格.py
class LocationForm(forms.ModelForm):        
class Meta:
model = Location
fields = ('place',)
widgets = {
'place': autocomplete.Select2(url='location_autocomplete')
}

有什么建议?

谢谢!

最佳答案

在您的 views.py如果您像这样传递位置值:

LocationForm(initial={'place': place })

它将预先填充到您的表单中。

文档: https://docs.djangoproject.com/en/1.11/ref/forms/fields/#initial

关于使用 Select2 小部件的 django-autocomplete-light 初始数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42975057/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com