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

Django查询两张不同数据表仅第一张数据可显示,求解决方案

问题排查与解决方案

1. 先确认stmtacct是否有数据

首先要排除“根本没查到数据”的情况,在视图层添加调试代码验证:

acconty = Porjectasset.objects.filter(accountno=acct).values()
stmtacct = Tbltrn.objects.filter(accountno=acct).values()

# 打印调试信息,查看控制台输出
print(f"符合条件的Tbltrn记录数: {stmtacct.count()}")
print(f"当前过滤的accountno值: {acct}")

context={
       'acconty':acconty,
       'stmtacct':stmtacct
}
  • 如果控制台输出stmtacct.count()为0,说明过滤条件有问题:
    • 检查Tbltrn数据表中是否存在accountno等于acct的记录;
    • 确认acct的类型与Tbltrn.accountno字段类型是否一致:比如acct是字符串,但Tbltrn.accountno是整数类型,需要转换后再过滤,示例:
      # 假设acct是字符串,转成整数后过滤
      stmtacct = Tbltrn.objects.filter(accountno=int(acct)).values()
      

2. 修正模板的HTML结构错误

你的模板中stmtacct循环部分的标签嵌套混乱,可能导致浏览器渲染异常(看起来像是没显示),修正后的代码如下:

{% for xbc in acconty %}
<div>
  Project Account No.
</div>
{% endfor %}

{% for xc in stmtacct %}
<div class="form-group">
  <strong>Loan Account No :</strong>
  <h3>
    <span style="color:green">
      <a href="loandash/{{xc.id}}" class="text-primary">{{xc.id}}</a>
    </span>
  </h3>
</div>
{% endfor %}

原代码的问题包括:

  • 重复嵌套<b>标签且闭合顺序错误;
  • <h3>包裹<p>的不符合HTML规范;
  • 错误使用</br>(正确写法是<br>或<br/>)。

3. 额外排查点

如果以上两步都没问题,检查:

  • 模板是否继承了正确的基础模板,确保循环代码所在区域没有被其他元素覆盖;
  • 查看页面源代码,确认stmtacct的循环是否被渲染(即使样式有问题,源代码中也应该能看到对应的HTML结构);
  • 检查CSS是否设置了display: none等属性,隐藏了该部分内容。

内容的提问来源于stack exchange,提问作者akin ayo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 20:42:48