我正在将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'解析为字段。选择是:[...]
你对这个怎么做有任何线索吗?提前谢谢。
答案 0 :(得分:2)
您可以使用带有双下划线__的queryset表示法来表示连接,例如。
search_fields = ('company_name','user__username')
http://docs.djangoproject.com/en/dev/topics/db/queries/#lookups-that-span-relationships
了解更多