小编use*_*263的帖子

django-autocomplete-light默认加载以前保存的值?

我在我的django项目中有一个autocomplete_light的工作实现,从一个下拉列表中的cities_light中提取值,这正确地将外键保存到表单提交中的db中的字段.当我重新访问表单时,我希望自动完成文本字段默认为保存的值,理想情况下使用纯文本中的值并使用"X"按钮(就像已经内置的那样).目前,我看到占位符文本和空白文本字段.当我重新访问表单时,表单中的其他已保存值(此处省略)正确默认.我需要在此处添加什么来触发窗口小部件以显示保存的值?这是我的代码:

forms.py

class UserProfileForm(autocomplete_light.GenericModelForm):
    location = autocomplete_light.GenericModelChoiceField(
        widget=autocomplete_light.ChoiceWidget(
            autocomplete='AutocompleteItems',
            autocomplete_js_attributes={'placeholder':'City, State, Country',
                                        'minimum_characters': 3})
    )
    class Meta:
        model = UserProfile
        fields = ['location']
Run Code Online (Sandbox Code Playgroud)

models.py

class UserProfile(models.Model):
    user = models.ForeignKey(
        User,
        unique=True
    )
    location = models.ForeignKey(
        City,
        blank=True,
        null=True
    )
Run Code Online (Sandbox Code Playgroud)

autocomplete_light_registry.py

class AutocompleteItems(autocomplete_light.AutocompleteGenericBase):
    choices = (
        City.objects.all(),
    )
    search_fields = (
        ('search_names',),
    )
autocomplete_light.register(AutocompleteItems)
Run Code Online (Sandbox Code Playgroud)

python forms django jquery django-autocomplete-light

6
推荐指数
1
解决办法
1232
查看次数