FieldError at / autocomplete / ItemsAutocomplete /

时间:2014-12-16 09:58:31

标签: python django django-models django-forms django-autocomplete-light

我在django模型中使用autocomplete_light。

这是我的表格模型

class Ca_dispensaries_item(TimeStampedModel):
  item = models.ForeignKey(Items)
  dispensary = models.ForeignKey(Ca_dispensaries)
  description = models.CharField(max_length=5000, null=True)

这是表格

class CamenuForm(autocomplete_light.ModelForm):
   class Meta:
     model = Ca_dispensaries_item
     exclude = ('dispensary',)
     autocomplete_fields = ('item',)

注册为

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是字段名称

1 个答案:

答案 0 :(得分:0)

你忘记了一个逗号!变化

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``。