0

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 はモデルの一部です。whilecreatedidはフィールド名です

4

1 に答える 1

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。モデルに複数形の名前を付けるべきではありませんItemsItemクラス名には CamelCase を使用する必要があるため、Ca_dispensaries_itemCaDispensariesItem`` にする必要があります。

于 2014-12-16T10:56:36.867 に答える