Django Admin 覆盖 autocomplete_field 中的 __str__ 方法
Django Admin overwrite the __str__ method in an autocomplete_field
我想在使用 autocomplete_fields = ()
时覆盖 Django 管理中的 __str__
方法,但返回值使用 __str__
.
我有一个类似于
的表格
class MyAdminForm(forms.ModelForm):
placement = forms.Select(
choices = Organisation.objects.active(),
)
class Meta:
model = Lead
fields = '__all__'
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['placement'].label_from_instance = lambda obj: f'{str(obj)} {obj.post_code}'
这将在下拉字段中返回一个 Select 组织名称和 post 代码。但是有一些 80k 的选择,所以我需要使用自动完成。在 admin.py
我有
class LeadAdmin(admin.ModelAdmin):
form = LeadAdminForm
autocomplete_fields = ('placement',)
我一添加 autocomplete_fields 我就丢失了我的 post 代码,它恢复为只显示 __str__
我可以使用 autocomplete_fields 并覆盖 __str__
方法吗?
这个问题已通过 Benbb96 评论回答,我已将上面的评论复制到此处,以便我可以将其关闭
So maybe this answer can help you :
whosebug.com/a/56865950/8439435 – Benbb96
我想在使用 autocomplete_fields = ()
时覆盖 Django 管理中的 __str__
方法,但返回值使用 __str__
.
我有一个类似于
的表格class MyAdminForm(forms.ModelForm):
placement = forms.Select(
choices = Organisation.objects.active(),
)
class Meta:
model = Lead
fields = '__all__'
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['placement'].label_from_instance = lambda obj: f'{str(obj)} {obj.post_code}'
这将在下拉字段中返回一个 Select 组织名称和 post 代码。但是有一些 80k 的选择,所以我需要使用自动完成。在 admin.py
我有
class LeadAdmin(admin.ModelAdmin):
form = LeadAdminForm
autocomplete_fields = ('placement',)
我一添加 autocomplete_fields 我就丢失了我的 post 代码,它恢复为只显示 __str__
我可以使用 autocomplete_fields 并覆盖 __str__
方法吗?
这个问题已通过 Benbb96 评论回答,我已将上面的评论复制到此处,以便我可以将其关闭
So maybe this answer can help you : whosebug.com/a/56865950/8439435 – Benbb96