Django Admin 中处理外键显示与搜索的实例解析

青禾
青禾
发布时间:2026-10-13| 6人浏览过
原创

本文介绍在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中处理外键显示与反向搜索的实例分享完毕,希望能为读者提供有益参考,并欢迎大家继续支持本站获取更多技术内容。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。