如何从外键关系查询集中获取对象列表? (当你使用“for f in foo:print(x)”循环遍历列表时)
代码如下:
class class Course(models.Model):
name = models.CharField(max_length=20)
user = models.ManyToManyField(User, related_name='typecourses')
description = models.TextField(max_length=500)
class Module(models.Model):
name = models.CharField(max_length=20)
courses = models.ForeignKey(Course, on_delete=models.CASCADE, related_name='courses', null=True)
下面是我在“视图”中尝试过的两个查询,它们都输出与查询集相同的结果。
1/ module_taken = list(Course.objects.get(id=1).courses.all())
2/ module_taken = Module.objects.select_related('courses').all()
结果:
<QuerySet [<Module: Foo>, <Module: Bar>]>
任何帮助将非常感激。
我想你想要做的是:
course_taken = Course.objects.get(id=1)
现在课程包含id = 1的对象课程
modules_course = course_taken.courses.all()
现在模块课程包含一个查询集,其中所有模块都以course_taken作为其外键,请注意课程只是您在相关名称中输入的名称