【发布时间】:2010-12-21 02:52:32
【问题描述】:
我希望将具有用户表外键的表单字段的查询集缩小到用户所属的组。
这些组之前已由我关联。该模型可能具有以下内容:
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。有可能吗?
【问题讨论】: