gpt4 book ai didi

python - 在 Django admin 中按用户名字段搜索

转载 作者:太空宇宙 更新时间:2023-11-03 17:12:42 30 4
gpt4 key购买 nike

我想知道如何在不直接知道用户名的情况下使用 Django 管理员用户名列中的详细信息进行搜索。

我的管理员中有一些对象,我希望能够通过 USERNAME_FIELD 进行搜索以访问有关给定用户的这些对象。

一开始我尝试过:

 search_fields = ('user__username', 'user__email',)

但这给出了 FieldError:无法将关键字“用户名”解析为字段。

我现在正在尝试在 Django 文档中找到的东西,但它给了我一个错误,提示“太多值无法解压”。

def get_search_results(self, request, queryset, search_term):
queryset, use_distinct = super(MyAdmin, self).get_search_results(request, queryset, search_term)
queryset = self.model.objects.filter(get_user_model().USERNAME_FIELD)
return queryset, use_distinct

我能想到的唯一解决方案是格式化字符串,但我不想这样做,因为它不是很好的代码。

最佳答案

您可以通过在 admin.py 文件中添加以下内容来完成此操作。

class WebUser(User):

class Meta:
proxy = True
verbose_name = "User"
verbose_name_plural = "Users"


class UserAdmin(admin.ModelAdmin):
search_fields = ('user__username', 'user__email')

admin.site.register(WebUser, UserAdmin)

希望这会有所帮助。

关于python - 在 Django admin 中按用户名字段搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33934947/

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