如何按父字段过滤子项

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))