Para un modelo como:QuerySet de campo de texto no vacío
class Item(models.Model):
notes = models.TextField(blank=True)
....
que estoy tratando de hacer un conjunto de consultas simple para todos los Elementos en los que el campo "notas" no está vacío. Al no encontrar mención de esta capacidad en los documentos, sino a través de un comentario en un informe de error, descubrió que en realidad se puede comparar con el mayor de:
items_with_notes = Item.objects.filter(notes__gt='')
Esto funciona, pero se siente como un truco. "Más grande que" parece que debería usarse para comparaciones numéricas, no para verificar si un campo de texto está en blanco. Sorprendió no encontrar algo como:
Item.objects.exclude(notes=blank)
estoy pasando por alto algo, o es .Filter (notes__gt = '') de la manera correcta de hacerlo?
En algunos casos, también vale la pena considerar filtrado por la longitud del texto, por ejemplo si es probable que su campo de texto consiste solo de caracteres en espacios en blanco o elementos html: http://stackoverflow.com/questions/12314168/django-filter-on-the-basis-of-text-length –