我在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也是一些模特。 created
和id
是字段名称
答案 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``。