AttributeError:' TreeQuerySet'对象没有属性' get_family'

时间:2018-03-24 10:54:08

标签: python django django-mptt

我正在使用django mptt,我希望得到一个孩子的全家人。 当我调用其他功能时,它可以正常工作

例如我过滤对象和调用函数get_family

p = Platform.objects.filter(name__startswith='signals')
s = p.get_family()
print(s)

但是收到错误

  

AttributeError:' TreeQuerySet'对象没有属性' get_family'

2 个答案:

答案 0 :(得分:0)

您的错误表明您正在尝试访问错误的get_family,或者您没有正确实现库。 只需浏览一下http://django-mptt.readthedocs.io/en/latest/models.html?highlight=get_family#get-family,您就可以看到需要扩展MPTTModel才能使该功能可用

答案 1 :(得分:0)

get_family是模型上的一种方法。但是,正如错误所示,filter返回一个QuerySet - 即一组模型。您需要选择一个来调用您的方法。

使用.first()方法:

p = Platform.objects.filter(name__startswith='signals').first()

或者,如果您确定只有一个匹配的Platform对象,请使用get代替过滤器:

p = Platform.objects.get(name__startswith='signals')