python - Django 模型查询;如何在外键上连接表格
问题描述
模型.py
class Person(models.Model):
email = models.CharField(max_length=30)
pwd = models.CharField(max_length=30)
type = models.CharField(max_length=30)
class user_details(models.Model):
name = models.CharField(max_length=30)
gender = models.CharField(max_length=30)
phoneno = models.CharField(max_length=13)
u_id = models.ForeignKey('Person', on_delete=models.CASCADE)
class User_locations(models.Model):
country = models.CharField(max_length=30)
state = models.CharField(max_length=30)
district = models.CharField(max_length=30)
locality = models.CharField(max_length=30)
u_id = models.ForeignKey('Person', on_delete=models.CASCADE)
我想查询 Person.type='A' 和 User_locations.locality='B' 的人。我还想在模板中使用 Person.name 访问一个人的名称。
我现在在views.py中使用这个代码
person = Person.objects.filter(type='A', user_locations__location='B')
应该在此代码中添加什么来访问 html 模板中带有 person.name 的人的姓名?
解决方案
根据您的代码, Person 没有name属性。
filter() 返回一个可以在模板中迭代的 QuerySet。
将您的人员变量传递给您的模板。
看法:
persons = Person.objects.filter(type='A', user_locations__location='B')
模板:
{% for person in persons %}
{{ person.your_property }}
{% endfor %}
推荐阅读
- git - 检测更改空白或注释的提交
- node.js - 如何使用 node.js 在 IBM Cloudant DB 中加载数据?
- express - 原型访问被拒绝,处理它的正确方法?“x”不是其父级的“自己的财产”
- python - 来自部分字典流的 Pandas DataFrame
- flutter - Flutter:我可以强制 Flutter 从 pubspec.lock 安装包吗?
- tomcat - Apache TomCat 拒绝访问文件
- javascript - 本地存储缺少 ID 令牌,请进行身份验证
- reactjs - 如何使用“useMediaQuery”为小、中、大屏幕设置 Material-UI 断点
- python - 如何在python Django中保存到数据库之前进行逻辑操作
- android - android:buttonStyle 和 android:imageButtonStyle 可以用于 Theme.MaterialComponents 吗?