首页 > 解决方案 > 如何过滤指向自身的外键

问题描述

模型.py:

class Person(models.Model):
     (...)
     leader = models.ForeignKey("self", on_delete=models.RESTRICT, related_name ='leader_set')

现在我想找到人,他们是自己的领导者。

像这样的某事:

own_leaders = Person.objects.filter(leader__isself=True)

标签: django

解决方案


您可以使用F对象 [Django-doc]来引用字段,因此:

own_leaders = Person.objects.filter(leader=F('pk'))

推荐阅读