Estoy buscando limitar un conjunto de consultas para un campo de formulario que tiene una clave externa a la tabla del usuario hasta el grupo al que pertenece un usuario.Django: Cómo filtrar usuarios que pertenecen a un grupo específico
Los grupos han sido previamente asociados por mí. El modelo podría tener algo como lo siguiente:
myuser = models.ForeignKey(User)
Y mi ModelForm es muy básico:
class MyForm(ModelForm):
class Meta:
model = MyModel
Así que cuando una instancia del formulario que hago algo como esto en mi views.py:
form = MyForm()
Ahora mi pregunta es, ¿cómo puedo salir al campo miUsuario, y el filtro de modo que sólo los usuarios de 'foo' grupo aparece .. algo así como:
form.fields["myuser"].queryset = ???
La consulta en SQL tiene este aspecto:
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';
me gustaría evitar el uso de SQL en bruto sin embargo. ¿Es posible hacerlo?
Brilliant, gracias Joe. Publiqué el SQL para esto arriba a la derecha cuando publicaste la respuesta. Apreciar los comentarios, funciona excelente. – randombits
No hay problema, volví y lo edité para mostrarle cómo imprimir el SQL para un conjunto de consultas para que pueda compararlo con lo que está esperando. –