python - 如何按父字段过滤子项
问题描述
例如,models.py:
class Guy(models.Model):
name = models.CharField(max_length=30)
class Mom(models.Model):
name = models.CharField(max_length=150, choices=MOTHER_NAMES, default=MOTHER_NAMES[0][0])
guy = models.OneToOneField(Guy, on_delete=models.SET_NULL)
如何获取妈妈的名字是'Sophia'的家伙的查询集
解决方案
您可以找到名为Sophia的母亲的validation_contract_id,您可以在此 validation_contract_ids 中找到 id 的孩子。
您可以使用以下查询:
Guy.objects.filter(id__in=Mom.objects.filter(name='Sophia').values_list('guy_id',flat=True))
推荐阅读
- nunit - 在构建机器上使用 nunit3-console.exe 运行 NUnit 测试失败 - 但它们在本地运行良好
- java - Java 中 `DateTimeFormatter` 模式的变化 > 8
- javascript - 如何在php中获取url?
- ios - 我应该采取什么方法 - 迅速
- javascript - 浏览器不会发送存储的 cookie
- python - 给定两个列表查找前 K 产品的有效方法
- android - 处理活动回栈
- javascript - 点击使用多个ID的jquery .toggleClass
- r - 具有原始向量的所有不同值的最小子向量
- html - CSS - 无法从选项元素(选择的子元素)中删除默认悬停样式