我在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
是字段名
发布于 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。
https://stackoverflow.com/questions/27501910
复制相似问题