gpt4 book ai didi

python - 从单个模板中的两个 Django 模型检索记录

转载 作者:行者123 更新时间:2023-12-01 07:10:26 24 4
gpt4 key购买 nike

我正在尝试从两个 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 %}

我想根据 Nodes 模型中的用户名从 DocchainUser 模型中检索地址

示例: test 用户名存在于两个模型中。我应该从测试用户的两个模型中检索记录。对于所有其他用户也是如此。

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

提前致谢!

最佳答案

最好为关系字段提供lated_names。让我们说:

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})

结果现在包含所有数据。您可以根据您的要求进行迭代。

关于python - 从单个模板中的两个 Django 模型检索记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58249685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com