Django Admin 中处理外键显示与搜索的实例解析
本文介绍在Django Admin中处理外键字段的两种关键配置。针对list_display,需通过自定义方法手动获取关联字段值;而search_fields则支持直接使用双下划线语法进行外键反向查询。通过OrderAdmin示例,展示了_nick_name和_open_id的具体实现及user__wechatuser__open_id的搜索配置,帮助开发者优化后台管理体验。
Django Admin 外键处理实例
具体实现方式如下所示:
class OrderAdmin(admin.ModelAdmin):
list_display = (
'_nick_name', 'time_order', 'year', 'item', 'status', 'number',
'money', 'deduction_point', 'deduction_account', 'pay',
'_open_id', 'out_trade_no', )
search_fields = [
'user__nick_name', 'user__wechatuser__open_id',
'out_trade_no']
list_filter = ('year', 'item', 'status')
def _nick_name(self, obj):
return obj.user.nick_name
def _open_id(self, obj):
return obj.user.wechatuser.open_id
在list_display配置中,若需展示外键关联字段,必须手动编写对应的显示方法。例如在上述代码中,_nick_name和_open_id即为自定义的显示字段。
而在search_fields配置中,可以直接利用双下划线语法访问外键关联表字段,实现反向查询功能。
以上关于Django Admin中处理外键显示与反向搜索的实例分享完毕,希望能为读者提供有益参考,并欢迎大家继续支持本站获取更多技术内容。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













