2024-04-19 12:34:38 发布
网友
我以相当标准的方式使用django autocomplete light,只需遵循关于http://django-autocomplete-light.readthedocs.io/en/master/tutorial.html的教程。在
然而,每当我使用Select2小部件时,选项的值将自动成为模型实例的主键。有没有一种方法可以使用将值设置为模型的另一个字段?在
只是我自己需要改变默认行为,遇到这种情况,希望它仍然能帮助到外面的人。在
documentation提到了使用get_result_label返回不同标签的方法
get_result_label
class CountryAutocomplete(autocomplete.Select2QuerySetView): def get_result_label(self, item): return item.full_name def get_selected_result_label(self, item): return item.short_name
现在要修改返回的id,它非常相似。只需覆盖get_result_value:
get_result_value
总之,我做了这样的事情:
class TagAutocomplete(autocomplete.Select2QuerySetView): def get_result_value(self, result): return str(result.name) def get_queryset(self): qs = Tag.objects.all() if self.q: q = self.q qs = qs.filter( Q(name__icontains=q) ) return qs
只是我自己需要改变默认行为,遇到这种情况,希望它仍然能帮助到外面的人。在
documentation提到了使用
get_result_label
返回不同标签的方法现在要修改返回的id,它非常相似。只需覆盖
^{pr2}$get_result_value
:总之,我做了这样的事情:
相关问题 更多 >
编程相关推荐