首页 > 解决方案 > 我需要在 django 上运行查询,但无法生成算法

问题描述

我在 Django 中有这些模型

class Course(models.Model):
Title = models.CharField(max_length=200, unique=True)
Card_Title = models.CharField(max_length=200, default='Nothing')
Description = RichTextField(blank=True, null=True)
Course_Image = models.FileField(upload_to='CoursesImages')
Progress = models.IntegerField(blank=True, null=True)
date = models.DateField(default=timezone.now, blank=True)
def __str__(self):
    return self.Title


class Lesson(models.Model):
    Course_id = models.ForeignKey(Course, on_delete=models.CASCADE)
    Number = models.IntegerField()
    Title = models.CharField(max_length=200)
    Completed = models.BooleanField(default=False, blank=True)
    date = models.DateField(default=timezone.now, blank=True)

    def __str__(self):
        return self.Title + ' (' + str(self.Number) + ')'

   

class Topic(models.Model):
    Title = models.CharField(max_length=100)
    Topic = models.FileField()
    Lesson = models.ForeignKey(Lesson, on_delete=models.CASCADE)
    Completed = models.BooleanField(default=False, blank=True)
    date = models.DateField(default=timezone.now, blank=True)

    def __str__(self):
        return self.Title

这个怎么运作 :

我需要弄清楚为什么查询是这样的:

{'Lesson1':[Topic1,Topic2,Topic,3,Topic,4],'Lesson':[Topic1,Topic2,Topic,3,Topic,4],........}

必须获取课程 ID、相关课程和主题

标签: pythondjangodjango-modelsmodel

解决方案


ans = {}
lessons = course.lesson_set
for lesson in lessions:
  ans[lession.title] = lesson.topic_set

推荐阅读