首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django-autocomplete-light:使用MultipleChoiceWidget选择逗号

django-autocomplete-light:使用MultipleChoiceWidget选择逗号
EN

Stack Overflow用户
提问于 2013-04-26 10:48:01
回答 1查看 880关注 0票数 1

如何在使用autocomplete_light.MultipleChoiceWidget的表单中使用密钥选择?

我希望使用通过mouseclick选择m2m字段的逗号键整数来选择它的条目。我在文档中找到了相关段落,但我不知道如何构造它。

models.py

代码语言:javascript
复制
class MyModel(models.Model):
    tag = models.ManyToManyField(Tag, blank=True, null=True)

class Tag(models.Model):
    name = models.CharField(max_length=32, unique=True)

autocomplete_light_registry.py

代码语言:javascript
复制
autocomplete_light.register(Tag,
                search_fields=['name'],
                autocomplete_js_attributes={
                                    'placeholder': 'Insert additional tags',
                                            },
                widget_js_attributes = {
                                        'max_values': 3,
                                        }
                )

forms.py

代码语言:javascript
复制
    tag = forms.ModelMultipleChoiceField(Tag.objects.all(),
    widget=autocomplete_light.MultipleChoiceWidget('TagAutocomplete'),
    required=False)

除了必须单击所需的标记外,自动完成还可以正常工作。我正在寻找一个解决方案,如何使用空格或逗号这样的键来选择条目。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-26 21:35:29

如果希望用逗号字符分隔条目,则需要使用autocomplete_light.TextWidget。然而,它并不适用于关系,它只适用于CharField等。

MultipleChoiceWidget维护一个理智的隐藏选择元素。select需要包含具有<option>value=the_foreign_key。如果此选择是由带有逗号分隔的对象标题列表的输入维护的,则用户可以通过修改先前输入的对象名称来对其进行校验--更不用说在选择时更改对象名称也会将自动完成的对象进行校验。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16234615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档