我是 django 和 autocomplete-light 的新手。我尝试从 autocomplete-light 获取模型的不同字段,但它总是返回相同的字段。原因是Model中的def定义了一个字段。所以我创建了另一个 def,但不能让 autocomplete-light 调用那个特定的 def。这是我的代码。
models.py:
class Item(models.Model):
...
serial_number=models.CharField(max_length=100, unique=True)
barcode=models.CharField(max_length=25, unique=True)
def __unicode__(self):
return self.serial_number
def bar(self):
return self.barcode
…………
autocomplete_light_registry.py
autocomplete_light.register(Item,
name='AutocompleteItemserial',
search_fields=['serial_number'],
)
autocomplete_light.register(Item,
name='AutocompleteItembarcode',
search_fields=['barcode'],
)
这是问题所在:当我尝试从自动完成灯中获取条形码时,它返回 serial_numbers。无论我尝试从 Item 模型中得到什么,它总是返回序列号。我真的很感谢你的答案。谢谢你。以防万一,这里是 form.py
forms.py
class ItemForm(forms.ModelForm):
widgets = {
'serial_number': autocomplete_light.TextWidget('AutocompleteItemserial'),
'barcode': autocomplete_light.TextWidget('AutocompleteItembarcode'),
}