Я ищу, чтобы сузить набор запросов для поля формы, в котором пользовательский ключ находится в таблице User, до группы, к которой принадлежит пользователь.
Группы ранее были связаны мной. Модель может иметь что-то вроде следующего:
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';
Я бы хотел избежать использования raw SQL. Можно ли это сделать?