Django:如何筛选属于特定组的用户

22 浏览
0 Comments

Django:如何筛选属于特定组的用户

我想要缩小一个表单字段的查询集,该字段具有对用户表的外键,以便仅显示用户所属的组。

这些组之前由我关联过。模型可能类似于以下内容:

myuser = models.ForeignKey(User)

我的ModelForm非常简单:

class MyForm(ModelForm):
    class Meta:
        model = MyModel

因此,当我实例化表单时,在我的views.py中我会这样做:

form = MyForm()

现在我的问题是,我如何对myuser字段进行过滤,以便只显示属于'foo'组的用户,类似于:

form.fields["myuser"].queryset = ???

在SQL中的查询如下所示:

mysql> SELECT * from auth_user INNER JOIN auth_user_groups ON auth_user.id = auth_user_groups.user_id INNER JOIN auth_group ON auth_group.id = auth_user_groups.group_id WHERE auth_group.name = 'client';

我想避免使用原始的SQL。这样做可能吗?

0