You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django多外键关联筛选失效,如何正确筛选MissForm模型?

Django筛选关联模型数据的错误修正

你的筛选代码失效的核心问题是关联字段的路径写错了,我帮你理清楚逻辑并修正:

模型关联逻辑回顾

根据你的描述,三个模型的关联关系是:

  • MissForm 通过外键关联 Manager(字段名应该是manager)
  • Manager 通过外键关联 Employee(字段名比如是employee,这是你需要确认的实际字段名)
  • Employee 包含存储用户ID的end_user_id字段

错误原因

你写的筛选条件manager__manager__end_user_id里,第二个manager是错误的——MissForm关联的是Manager,而Manager关联的是Employee,所以这里应该替换成Manager模型中关联Employee的外键字段名,而不是重复写manager。

修正后的代码

假设Manager模型里关联Employee的外键字段叫employee,修正后的代码如下:

login_user_id = request.user.username.upper()
forms = MissForm.objects.filter(status_flag=2, manager__employee__end_user_id=login_user_id)

注意事项

如果Manager里关联Employee的外键字段不是employee(比如叫related_employee),你需要把代码里的employee替换成实际的字段名称,保证关联路径和模型定义一致。

内容的提问来源于stack exchange,提问作者Andrii Shyrokov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 06:04:59