AttributeError:'ManyToManyDescriptor'对象没有属性'all' - django

Dor*_*ora 5 python django many-to-many relational-database django-queryset

我有一个人员模型,可以分配给许多其他组模型

我试着打电话来得到这个工作人员属于哪些团体的回复,但我一直在收到错误.

有人可以帮我一把吗?用户模型

class Staff(Model):
    groups = ManyToManyField(Group,
                             related_name="%(class)ss",
                             related_query_name="%(class)s",
                             blank=True)

class Group(Model):
    creator = ForeignKey(Employer,
                         on_delete=CASCADE,
                         related_name="%(class)ss",
                         related_query_name="%(class)s")
    group_name = CharField(max_length=256, unique=True)
    created_at = DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)

我尝试了几种方法,比如

staff = Staff.objects.filter(pk=1)
groups = staff.group.all()  # or 
groups = staff.group_set.all()  # or
groups = staff.group.filter()
Run Code Online (Sandbox Code Playgroud)

和其他一些我不记得的方法,但我一直在犯错误.

提前致谢

小智 6

Django filter()返回一个QuerySet对象,它是结果的容器.因此,您需要在尝试访问字段之前选择特定的结果对象.

results = Staff.objects.filter(pk=1)
for staff in results:
    print staff.groups.all()
Run Code Online (Sandbox Code Playgroud)