检查用户是否属于多对多关系 django

wtr*_*ton 2 django manytomanyfield

我有一个 Set 模型:

class Set(models.Model):
    name = CharField(max_length = 25)
    teacher = ForeignKey(get_user_model(), null = False, on_delete = models.CASCADE)
    students = ManyToManyField(get_user_model(), related_name= 'set_students')
Run Code Online (Sandbox Code Playgroud)

如您所见,最后一个字段是 ManyToMany 字段。我需要一个查询集来获取用户所属的所有集合。

我该怎么做?

nev*_*ner 5

您可以为当前用户使用反向关系user

user.set_students.all()
Run Code Online (Sandbox Code Playgroud)

或者Set.objects通过 user_id:

Set.objects.filter(students__id=user.id)
Run Code Online (Sandbox Code Playgroud)