我想缩小一个查询集,使其针对一个表单字段,该字段具有对用户表的外键,并仅限于用户所属的组。
这些组之前已经被我关联起来了。模型可能会像以下内容一样:
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语句。但是有没有可能做到这一点?