Python 在单个模板中从两个Django模型检索记录
我试图从两个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
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})
结果现在包含所有数据。您可以根据自己的要求进行迭代。