【发布时间】:2020-08-27 18:18:51
【问题描述】:
我有两个模型Teachers和Subjects。不用担心名字。这只是练习。我想查询所有老师,对于每个老师,它将获取他/她创建的所有科目。
模型
class Teachers(models.Model):
firstname = models.CharField(max_length=20)
second = models.CharField(max_length=20)
class Subjects(models.Model):
coursename = models.CharField(max_length=200)
coursedescription = models.CharField(max_length=500)
tutor = models.ForeignKey(
Teachers, on_delete=models.CASCADE,related_name='teacher'
)
我正在使用 prefetch_related
teachers_subjects_queryset = Teachers.objects.prefetch_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"}
]}
【问题讨论】:
-
您好,您的问题似乎措辞不当,因此被否决了,您不会得到很多答复。这里有一些关于如何提出好问题的 [stackoverflow.com/help/how-to-ask](official 指南)。但是,我建议: 1)粘贴模型的相关定义代码,粘贴您用于查询的代码。 2) 展示你得到了什么(剪断相关行)并展示你想要得到什么。
标签: django postgresql django-models django-rest-framework