无法在HTML模板中显示通过外部键关系设置的相关对象引用.

这是目前为止的代码.

models.py:

class MprVw(models.Model):
    payloadid = models.TextField(db_column='payLoadID', blank=True, null=True)
    file = models.TextField(db_column='File', primary_key=True)
    class Meta:
        managed = False
        db_table = 'MPR_VW'


class MprWi(models.Model):
    id = models.TextField(db_column='id', primary_key=True)
    payloadid = models.TextField(db_column='payLoadID', blank=True, null=True)
    file = models.ForeignKey(MprVw, on_delete=models.DO_NOTHING, db_column='File')
    class Meta:
        managed = False
        db_table = 'MPR_WI'

Views.py:

def MPR(request):
  
  myDls = request.GET.get("dls")
  myMPR = MprVw.objects.filter(dls=myDls)
  myMprWi = MprWi.objects.select_related("file")
  context = {
    'myMPR': myMPR,
    'myMprWi': myMprWi,
    'myDls': myDls,
  }
  MPR = loader.get_template('MPR.html')
  return HttpResponse(MPR.render(context, request))

Html:

                {% for rowmyMPR in myMPR.mprwi_set.all %}
                <tr>
                    <td>{{ rowmyMPR.file }} 
                        {{ rowmyMPR.id }} 
                    </td>
                </tr>
                {% endfor %}

我希望显示myMprWi中的行数据,这些行数据是myMPR父文件的子记录.数据周围显示有"MprVw Object()".我怎么才能摆脱它呢?

例如: MprVw对象(&lt;the row file number&gt;) &lt;the row id number&gt;

推荐答案

myMPR不是MprVw对象,而是由零个、一个或多个MprVw项组成的QuerySet.因此,您需要枚举才能获得这样的对象,因此:

from django.shortcuts import render


def MPR(request):
    myDls = request.GET.get('dls')
    myMPRs = MprVw.objects.filter(dls=myDls)
    context = {
        'myMPRs': myMPRs,
        'myDls': myDls,
    }
    return render(request, 'MPR.html', context)

在模板中:

{% for myMPR in myMPRs %}
  {% for rowmyMPR in myMPR.mprwi_set.all %}
    <tr>
        <td>{{ rowmyMPR.file }} 
            {{ rowmyMPR.id }} 
        </td>
    </tr>
  {% endfor %}
{% endfor %}

Django相关问答推荐

从多个数据库访问 Django 会话

Django ImproperlyConfigured: AUTH_USER_MODEL指向尚未安装的模型'users.User'

SQLite上可以正常使用Many2Many链接注释,但MariaDB上无法正常使用(生产环境)

Django 和 HTML 无法从指定时间开始视频

"" 需要有字段 "id" 的值才能使用这种多对多关系

组织大型 Django 元素的指南

Django:使用 Django ORM 实现 JOIN?

将 **kwargs 传递给 Django 表单

使用基于日期/时间的对象进行 Django 单元测试

如何在 Django Rest Framework SimpleRouter 上使斜杠可选

related_name 参数在 Django 模型中没有按预期工作?

PyCharm 无法正确识别需求 - Python、Django

django 模板 if 或语句

Django 不调用模型清理方法

Django Rest Framework - 缺少静态目录

如何重置 PostgreSQL 表上的 ID 序列

PyCharm 代码判断提示找不到模板文件,如何解决?

基于 User-Agent 更改 Django 模板

暂时禁用 Django 缓存

django select_related - 何时使用它