如何在django模型中使用预取_

如何在django模型中使用预取_,django,postgresql,django-models,django-rest-framework,Django,Postgresql,Django Models,Django Rest Framework,我有两个模型教师和科目。不要担心名字。只是练习而已。我想查询所有教师,对于每个教师,它将获取他/她创建的所有科目 型号 班主任(模特儿,模特儿): firstname=models.CharField(最大长度=20) 第二个=models.CharField(最大长度=20) 班级科目(模型、模型): coursename=models.CharField(最大长度=200) coursedescription=models.CharField(最大长度=500) tutor=models.

我有两个模型教师科目。不要担心名字。只是练习而已。我想查询所有教师,对于每个教师,它将获取他/她创建的所有科目

型号


班主任(模特儿,模特儿):
firstname=models.CharField(最大长度=20)
第二个=models.CharField(最大长度=20)
班级科目(模型、模型):
coursename=models.CharField(最大长度=200)
coursedescription=models.CharField(最大长度=500)
tutor=models.ForeignKey(
教师,在_delete=models.CASCADE上,相关的_name='teacher'
)
我正在使用与预取相关的

teachers\u subjects\u queryset=teachers.objects.prefetch\u related('teacher').all()
连载之后我得到了什么

{
    "id": 1,
    "firstname": "Andrew",
    "second": "Njaya",
    "teacher": [
        1,
        2,
        3
    ]
},
{
    "id": 2,
    "firstname": "Kevin",
    "second": "Odhiambo",
    "teacher": [
        4,
        5
    ]}
我想要的是

{
    "id": 1,
    "firstname": "Andrew",
    "second": "Njaya",
    "teacher": [
        {"id":1, "coursename":"Algebra", "coursedescription":"Fundermentals of Algebra"},
        {"id":2, "coursename":"Algebra", "coursedescription":"Fundermentals of Algebra"},
        {"id":3, "coursename":"Algebra", "coursedescription":"Fundermentals of Algebra"},
    ]
},
{
    "id": 2,
    "firstname": "Andrew",
    "second": "Njaya",
    "teacher": [
        {"id":4, "coursename":"Algebra", "coursedescription":"Fundermentals of Algebra"},
        {"id":5, "coursename":"Algebra", "coursedescription":"Fundermentals of Algebra"}
    ]}

这看起来像是在序列化程序中遍历模型关系

您好,看来您的问题措辞相当糟糕,因此获得了否决票,您不会得到太多答复。这里有一些关于如何提出好问题的[指导原则]。但是,我建议:1)粘贴模型的相关定义代码,粘贴用于查询的代码。2)显示您得到的内容(剪到相关行)并显示您想要得到的内容。