我正在使用django mptt,我希望得到一个孩子的全家人。 当我调用其他功能时,它可以正常工作
例如我过滤对象和调用函数get_family
p = Platform.objects.filter(name__startswith='signals')
s = p.get_family()
print(s)
但是收到错误
AttributeError:' TreeQuerySet'对象没有属性' get_family'
答案 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')