首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FieldError /自动完成/自动完成/

FieldError /自动完成/自动完成/
EN

Stack Overflow用户
提问于 2014-12-16 09:58:30
回答 1查看 107关注 0票数 0

我在django模型表单中使用autocomplete_light。

这是我的表格模型

代码语言:javascript
运行
复制
class Ca_dispensaries_item(TimeStampedModel):
  item = models.ForeignKey(Items)
  dispensary = models.ForeignKey(Ca_dispensaries)
  description = models.CharField(max_length=5000, null=True)

这是表格

代码语言:javascript
运行
复制
class CamenuForm(autocomplete_light.ModelForm):
   class Meta:
     model = Ca_dispensaries_item
     exclude = ('dispensary',)
     autocomplete_fields = ('item',)

注册为

代码语言:javascript
运行
复制
autocomplete_light.register(Items, search_fields=('item_name'))

当我尝试在item中输入一些值时,根据自动完成功能,它开始搜索,但是给出了field error Cannot resolve keyword u'i' into field. Choices are: arizona_dispensaries_item, ca_dispensaries_item, colorado_dispensaries_item, created, id,我不知道这个i是从哪里来的。另外,dispensaries_items也是其中的一些模型。而createdid是字段名

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-16 10:56:36

你已经放弃了一个逗号!变化

search_fields=('item_name')

search_fields=('item_name',)

search_fields应该是可迭代的,所以如果它有值('item_name') (是一个字符串),它将得到'i‘、't’、'e‘等等(这就是为什么您得到消息Cannot resolve keyword u'i' into field)。

另外,您的模型的名称也有一些严重的问题:我看到您有一个名为Items的模型和一个名为Ca_dispensaries_item的模型。您不应该将您的模型命名为复数,所以Items应该是Item,您需要在类名中使用CamelCase,因此Ca_dispensaries_item应该是CaDispensariesItem。

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

https://stackoverflow.com/questions/27501910

复制
相关文章

相似问题

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