我有一个用户模型类定义如下:
class CustomUser(models.Model):
user = models.OneToOneField(User)
slug = models.SlugField(max_length=35, unique=True,help_text="URI dell'utente che appare sul browser")
team = models.CharField(max_length=100, null=False, verbose_name="Team")
area = models.CharField(max_length=100, null=False, verbose_name="Area")
line_manager = models.ForeignKey('self', null=True, blank=True,related_name='parent')
我想检索 CustomUser 的所有 line_managers。假设我有:
A
-B
-C
其中 C 是叶子,B 和 A 是我想要检索的值。
我该怎么做?
我还没有测试过这个,但它应该可以工作:
class CustomUser(models.Model):
user = models.OneToOneField(User)
slug = models.SlugField(max_length=35, unique=True,help_text="URI dell'utente che appare sul browser")
team = models.CharField(max_length=100, null=False, verbose_name="Team")
area = models.CharField(max_length=100, null=False, verbose_name="Area")
line_manager = models.ForeignKey('self', null=True, blank=True,related_name='parent')
def get_linemanagers(self):
if self.line_manager is None:
return CustomUser.objects.none()
return CustomUser.objects.filter(pk=self.line_manager.pk) | self.line_manager. get_linemanagers()
希望能帮助到你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)