class Category(models.Model):
....
class User(models.Model):
.....
category = models.ForeignKey(
Category, on_delete=models.SET_NULL, null=True)
group = models.ManyToManyField(
Group, through="UserGroup")
class Group(models.Model:
....
class UserGroup(models.Model):
......
user = models.ForeignKey(
User, on_delete=models.CASCADE)
Group = models.ForeignKey(
Group, on_delete=models.CASCADE)
.....
我希望能够返回包含具有特定类别的用户的组 我可以用
queryset = Group.objects.all()
category = Category.objects.get(pk=category_id)
queryset = queryset.filter(user__category_id=category_id)
但是,即使User.category不等于给定的category_id,这仍然会返回与该组关联的所有用户。如何将那些与该组相关的用户排除在外,从而只返回具有正确类别的用户
所以如果有 用户1&;user2的category_id为1,user3的category_id为2,则返回的组中只有user1&;来自序列化程序的user2数据
啊,使用预回迁相关&;Prefetch()将很好地处理此问题
相关问题 更多 >
编程相关推荐