热门添加在Django中将UserProfile搜索到UserAdmin的功能search_fields w / ForeignKey

时间:2009-11-27 01:40:01

标签: django django-admin

我正在将Django的用户管理与UserProfiles结合使用,UserProfiles链接到带有ForeignKeys的User模型。现在,我想从UserAdmin中搜索用户配置文件中的字段。

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

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'解析为字段。选择是:[...]

你对这个怎么做有任何线索吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

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

 search_fields = ('company_name','user__username')

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

了解更多