Django es un marco altamente efectivo y extendido de Python que permite construir aplicaciones web complejas. Puedes realizar filtraciones de datos en varios niveles usando Django, ya que tiene incorporada una capa de abstracción de base de datos realmente poderosa que te permite manejar tus datos de manera efectiva y eficiente.
Django ofrece un sistema de consultas de bases de datos, que es extremadamente poderoso y flexible. Puedes filtrar los datos que están vinculados a tus modelos con la ayuda de este sistema de consultas. Para filtrar datos, puedes usar el método `.filter()` que está incluido en el Manager de cada modelo.
Por ejemplo, si tienes un modelo “Producto” y deseas filtrar todos los productos que tienen un precio inferior a 50, harías algo como esto:
```python
Productos_baratos = Producto.objects.filter(precio__lt=50 )
```
En el ejemplo anterior, `precio__lt=50` es el filtro que aplica, la propiedad `precio` del modelo `Producto`, con el operador ‘lt’ (menor que) aplicado a 50. Django automáticamente transforma esto en una consulta SQL y devuelve los datos filtrados correspondientes en forma de objetos de modelo.
En realidad, puedes hacer las cosas más complicadas. Por ejemplo, si quieres filtrar los productos que son tanto baratos (menos de 50) como populares (por ejemplo, tienen una calificación superior a 4), puedes hacer algo como esto:
```python
Productos_baratos_y_populares = Producto.objects.filter(precio__lt=50, calificacion__gt=4)
```
Otra forma poderosa de filtrar datos en Django es utilizando el método `.exclude()`, que hace exactamente lo contrario que `.filter()`. Excluye los objetos que cumplen con los criterios proporcionados.
Puedes leer más acerca del método ‘filter’ en la documentación oficial de Django [aquí](https://docs.djangoproject.com/en/3.2/topics/db/queries/#retrieving-specific-objects-with-filters).
Con respecto a las fuentes, cada consulta hecha en Django se construye utilizando la API de consultas de Django, la cual está bien documentada en la documentación oficial de Django que puedes encontrar en este enlace: https://docs.djangoproject.com/en/3.2/topics/db/queries.
Si necesitas realizar consultas más avanzadas, Django también permite la creación de consultas SQL personalizadas, aunque generalmente, la mayoría de las necesidades de consultas se cubren con los métodos y capacidades proporcionados por Django a través de su API de consultas. Toda la información proporcionada aquí es basada en la referencia oficial de Django.