python - 如何获取查询集并为每个对象获取查询集
问题描述
例如我有这些模型:
class Teacher(models.Model):
.....
class Student(models.Model):
teacher = models.ForeignKey(Teacher, on_delete=models.CASCADE)
.....
现在,如果我想获得教师的值,我可以这样做:Teacher.objects.values("id", "name")
但是如何将学生的查询集添加到教师的查询集值中?
这是 JSON 的预期输出:
{
"id": 1,
"name": "Alan",
"students": [
{
"id": 1,
"name": "John",
"...": "...",
},
{
"id": 2,
"name": "Sam",
"...": "...",
},
{....},
{....},
]
}
注意:我知道我可以通过获取学生查询集来做到这一点,但在这种情况下,我会有很多重复的老师,所以我只希望每个老师和他的学生都作为对象数组
解决方案
可能不是最佳答案,但您可以使用Serializer
or ModelSerializer
ofdjango-restframework
将模型序列化为json
.
推荐阅读
- python - 如何避免在嵌套字典中添加重复值?
- eclipse - Eclipse 2020-06 在 CloudFormation (YAML) 模板中的有效 !Ref 和 !Sub 上引发错误
- python - Python selenium如何检查特定的Web元素是否包含特定的关键字?
- c# - 如何将 C# 代码转换为 Kotlin 由 Json 库组成
- c - 蛮力实施的限制
- javascript - 轮播仅在代码上显示 2 个元素
- python-2.7 - 使用系统管理员以外的用户时,odoo ir.sequence 不起作用
- java - Android Studio中通过调用Rest API构造的Java对象
- javascript - 在 AJAX 响应后更改特定的 HTML 表格内容
- python - 如何确保python版本正常运行