如何按父字段过滤子项
How to filter children by parent field
示例,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'
的人的查询集
您可以找到 validation_contract_id 的母亲,她们的名字叫 Sophia,您可以找到 children 在这个 validation_contract_ids.
中的 id
您可以使用以下查询:
Guy.objects.filter(id__in=Mom.objects.filter(name='Sophia').values_list('guy_id',flat=True))
示例,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'
的人的查询集您可以找到 validation_contract_id 的母亲,她们的名字叫 Sophia,您可以找到 children 在这个 validation_contract_ids.
中的 id您可以使用以下查询:
Guy.objects.filter(id__in=Mom.objects.filter(name='Sophia').values_list('guy_id',flat=True))