Я ищу, чтобы сузить набор запросов для поля формы, который имеет посторонний ключ в таблице пользователя до группы, к которой принадлежит пользователь.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, хотя. Можно ли это сделать?
Блестящий, спасибо Джо. Я разместил SQL для этого выше, когда вы отправили ответ. Цените отзывы, отлично работают. – randombits
Нет, я вернулся и отредактировал его, чтобы показать вам, как распечатать SQL для набора запросов, чтобы вы могли сравнить его с тем, что вы ожидаете. –