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

元素列表的Django模型集

  •  0
  • StackUser  · 技术社区  · 6 年前

    class Skill(models.Model):
        name = models.CharField(max_length=60)
    
    class Competency(models.Model):
        skill = models.ForeignKey(Skill, null=True, on_delete=CASCADE)
    
    class Employee(AbstractUser):
        competencies = models.ManyToManyField(Competency, blank=True, related_name='employees')
    

    从一个特定的技能,我想得到一个有能力的员工与该技能的查询。

    skill = Skill.objects.get(pk=id)
    competencies = skill.competency_set.all()
    

    考虑到“能力”包含许多元素,我如何才能创建一个员工查询集?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Daniel Roseman    6 年前

    一如既往,从你想要的模式开始:员工。

    skilled_employees = Employee.objects.filter(competencies__skill=skill)
    

    或者只是

    skilled_employees = Employee.objects.filter(competencies__skill_id=id)