AttributeError: 'TreeQuerySet' object has no attribute 'get_family'
AttributeError: 'TreeQuerySet' object has no attribute 'get_family'
我正在使用 django mptt,我想得到一个全家 child。
当我调用其他函数时它工作正常
例如我筛选 object 并调用函数 get_family
p = Platform.objects.filter(name__startswith='signals')
s = p.get_family()
print(s)
但出现错误
AttributeError: 'TreeQuerySet' object has no attribute 'get_family'
您的错误表明您正在尝试访问 get_family
错误的东西,或者您没有正确实现库。
只需看一眼 http://django-mptt.readthedocs.io/en/latest/models.html?highlight=get_family#get-family,您就会发现您需要扩展 MPTTModel
才能使该功能可用
get_family
是模型上的方法。但正如错误所示,filter
returns 一个 QuerySet - 即模型的集合。您需要选择一个来调用您的方法。
要么使用.first()
方法:
p = Platform.objects.filter(name__startswith='signals').first()
或者,如果您确定只有一个平台对象匹配,请使用 get
而不是过滤器:
p = Platform.objects.get(name__startswith='signals')
我正在使用 django mptt,我想得到一个全家 child。 当我调用其他函数时它工作正常
例如我筛选 object 并调用函数 get_family
p = Platform.objects.filter(name__startswith='signals')
s = p.get_family()
print(s)
但出现错误
AttributeError: 'TreeQuerySet' object has no attribute 'get_family'
您的错误表明您正在尝试访问 get_family
错误的东西,或者您没有正确实现库。
只需看一眼 http://django-mptt.readthedocs.io/en/latest/models.html?highlight=get_family#get-family,您就会发现您需要扩展 MPTTModel
才能使该功能可用
get_family
是模型上的方法。但正如错误所示,filter
returns 一个 QuerySet - 即模型的集合。您需要选择一个来调用您的方法。
要么使用.first()
方法:
p = Platform.objects.filter(name__startswith='signals').first()
或者,如果您确定只有一个平台对象匹配,请使用 get
而不是过滤器:
p = Platform.objects.get(name__startswith='signals')