Python 在单个模板中从两个Django模型检索记录

Python 在单个模板中从两个Django模型检索记录,python,django,django-models,django-templates,Python,Django,Django Models,Django Templates,我试图从两个Django模型中检索记录。检索应该像第一个模型中的所有记录一样,然后根据第一个模型的用户名检索第二个模型中的记录 模型包括: class Nodes(models.Model): user = models.OneToOneField(User, on_delete = models.CASCADE, default=1) node_name = models.CharField(max_length=50) node_mob = models.Positi

我试图从两个Django模型中检索记录。检索应该像第一个模型中的所有记录一样,然后根据第一个模型的用户名检索第二个模型中的记录

模型包括:

class Nodes(models.Model):
    user = models.OneToOneField(User, on_delete = models.CASCADE, default=1)
    node_name = models.CharField(max_length=50)
    node_mob = models.PositiveIntegerField()
    node_image = models.ImageField(upload_to='nodes_pics/', blank=True)

    def __str__(self):
        return self.user.username

class DocchainUser(models.Model):
    docchainuser = models.OneToOneField(User, on_delete = models.CASCADE)
    address = models.CharField(max_length=64,unique=True)   

    def __str__(self):
        return self.address
意见如下:

def universityUsers(request):
    queryset = Nodes.objects.all()
    context = {
        'user_list': queryset,
    }
    return render(request,'universityUsers.html',context)
模板:

{% for p in user_list %}
       <tr>
           <td>{{ forloop.counter }}</td>
           <td>{{ p.node_name }}</td>
           <td>{{ p.user.email }}</td>
           <td>{{ p.node_mob }}</td>
           <td> ADDRESS FROM DOCCHAINUSER MODEL </td>
       </tr>
{% endfor %}
{user_list%中p的%
{{forloop.counter}}
{{p.node_name}
{{p.user.email}
{{p.node_mob}}
来自DOCCHAINUSER模型的地址
{%endfor%}
我想根据节点模型中的用户名从DocchainUser模型中检索
地址

示例:
测试
用户名在两个模型中都存在。我应该从两个模型中检索记录以供测试用户使用。其他所有用户也一样

如何做到这一点?我被困在这里了


提前谢谢

最好给关系字段指定
相关名称。比如说:

docchainuser = models.OneToOneField(User,related_name="doc_user" on_delete = models.CASCADE)
现在检索用户及其地址的所有数据:

result=[]

    for node in Node.objects.all():  

       result.append({"node_name":node.node_name,"email":node.user.email,"address":node.user.doc_user.address})
结果现在包含所有数据。您可以根据自己的要求进行迭代。