python - Django model_set 用于元素列表
问题描述
我有以下代码:
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()
鉴于“能力”包含许多元素,我如何做同样的事情来创建员工查询集?
解决方案
与往常一样,从您想要获得的模型开始:员工。
skilled_employees = Employee.objects.filter(competencies__skill=skill)
要不就
skilled_employees = Employee.objects.filter(competencies__skill_id=id)
推荐阅读
- cognos - 尝试访问 IBM Cognos Analytics 时登录响应无效
- docker - 无法在裸机 kubernetes 集群上获取外部 IP
- javascript - 如何传递我的模板文字之外的变量?
- tfs - TFS On Prem 维护模式
- utf-8 - 不懂将 ANSI 编码为 UTF8
- linked-list - 没有 malloc 的 no_std 中的无堆链表
- ios - 使用 formSheet 呈现样式调整已经呈现的模式视图控制器的大小
- python - ValueError:无法将大小为 200 的数组重塑为形状 (200,320,240,1)
- python - 需要帮助修复错误“TypeError:'NoneType' 对象不可下标”
- python - 当我输入“python3.6 get-pip.py”时,无法修复“zipimport.ZipImportError:无法解压缩数据;zlib 不可用”