热衷于在 Django 中向 UserAdmin 添加在 UserProfile 中搜索的功能 |带外键的搜索字段

发布于 2024-08-12 05:16:03 字数 435 浏览 1 评论 0原文

我将 Django 的用户管理与通过外键链接到用户模型的用户配置文件结合使用。现在,我想让用户配置文件中的字段可以从用户管理中搜索。

我最好的猜测是使用这样的东西:

class UserAdmin(auth.admin.UserAdmin):

    def field_name(self, obj):
        return obj.get_profile().name

    list_display = ('field_name',)

    search_fields = ('field_name',)

虽然 list_display 工作正常,但 search_fields 在提交查询时给我一条错误消息:无法将关键字“field_name”解析为字段。选项有: [...]

您知道如何执行此操作吗?先感谢您。

I'm using Django's User management in combination with UserProfiles that are linked to the User model with ForeignKeys. Now, I'd like to make fields from the users' profiles searchable from the UserAdmin.

My best guess was to user something like this:

class UserAdmin(auth.admin.UserAdmin):

    def field_name(self, obj):
        return obj.get_profile().name

    list_display = ('field_name',)

    search_fields = ('field_name',)

Whereas list_display works fine, search_fields gives me an error message when submitting a query: Cannot resolve keyword 'field_name' into field. Choices are: [...]

Do you have any clue on how to do this? Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南渊 2024-08-19 05:16:03

您可以使用带有双下划线 __ 的查询集表示法来指示连接,例如。

 search_fields = ('company_name','user__username')

http://docs.djangoproject.com /en/dev/topics/db/queries/#lookups-that-span-relationships

了解更多

You can use queryset notation with the double underscore __ to indicate joins eg.

 search_fields = ('company_name','user__username')

http://docs.djangoproject.com/en/dev/topics/db/queries/#lookups-that-span-relationships

for more

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文