代码之家  ›  专栏  ›  技术社区  ›  Fawad

多对多字段问题

  •  0
  • Fawad  · 技术社区  · 12 年前

    有人能帮我解决这个ManyToManyField问题吗

    型号.PY

    class Course(models.Model):
        course_code = models.CharField(max_length=8, unique=True)
        course_name = models.CharField(max_length=128, unique=True)
        is_active = models.BooleanField(default=True)
    
        def __str__(self):
            return self.course_code
    
    
    class Degree(models.Model):
        degree_code = models.CharField(max_length=16, unique=True)
        degree_name = models.CharField(max_length=128, unique=True)
        courses = models.ManyToManyField(Course)
        is_active = models.BooleanField(default=True)
    
        def __str__(self):
            return self.degree_code
    

    现在,当我查询

    >>> Degree.objects.values_list('courses')
    [(4,), (3,), (1,), (5,), (4,), (3,), (2,), (1,)]
    

    我正在获取ID,如何获取课程名称而不是ID?

    1 回复  |  直到 12 年前
        1
  •  1
  •   ayaz    12 年前

    您可以通过访问相关类的字段来实现这一点:

    Degree.objects.values_list('courses__course_name')

    的文档 Field lookups 解释道。

    推荐文章