gpt4 book ai didi

python - 如何使用 django-autocomplete-light 更改选项值?

转载 作者:行者123 更新时间:2023-12-05 01:00:58 27 4
gpt4 key购买 nike

我以相当标准的方式使用 django-autocomplete-light,只需按照 http://django-autocomplete-light.readthedocs.io/en/master/tutorial.html 上的教程进行操作即可.

然而,每当我使用 Select2 小部件时,选项的值都会自动成为模型实例的主键。有没有办法将值设置为模型的另一个字段?

最佳答案

只需要自己更改默认行为并遇到这个问题,希望它仍然可以帮助那里的人。

documentation提到了使用 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:

def get_result_value(self, result):
"""
this below is the default behavior,
change it to whatever you want returned
"""
return str(result.pk)

总的来说,我做了这样的事情:

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

关于python - 如何使用 django-autocomplete-light 更改选项值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47870676/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com