Для модели, как:QuerySet для непустого TextField
class Item(models.Model):
notes = models.TextField(blank=True)
....
Я пытаюсь сделать простой QuerySet для всех предметов, где поле «Примечания» не пусто. Не найдя упоминаний о такой возможности в документации, но через комментарии к сообщению об ошибке, обнаружил, что вы можете сравнить с более чем:
items_with_notes = Item.objects.filter(notes__gt='')
Это работает, но чувствует, как взломать. «Больше чем» похоже, что он должен использоваться для числовых сравнений, а не для проверки того, пустое ли текстовое поле. Удивление не найти что-то вроде:
Item.objects.exclude(notes=blank)
ли я с видом что-то, или .filter (notes__gt = «») правильный способ сделать это?
В некоторых случаях это также стоит рассматривать фильтрации по длине текста, например, если он, скорее всего, ваш TextField состоит только из символов пробелов или элементов html: http://stackoverflow.com/questions/12314168/django-filter-on-the-basis-of-text-length –