Alexandre Simões
Alexandre Simões

Reputation: 1294

Django Filtering error

I have a very simple model object and a very simple view that returns a query to that model object. The problem is that it's returning an error. I've been searching around but didn't find any solution to this. Any help is very appreciated.

Model

from imagekit.models import ImageSpecField
from imagekit.processors import ResizeToFill
from django.utils.timezone import now
class Eventos(models.Model):
    '''Eventos d\'a Tasca'''
    nome_do_evento = models.CharField(u'Nome do Evento', max_length=100, unique=False)
    descricao_do_evento = models.CharField(u'Descrição do Evento', max_length=500, unique=False, default="")
    data_do_evento = models.DateField(u'Data do Evento', default=now)
    imagem_do_evento = models.ImageField(upload_to='imagem_do_evento')
    thumbnail_do_evento = ImageSpecField(source='imagem_do_evento',
                                  processors=[ResizeToFill(400, 300, None, False)],
                                  format='JPEG',
                                  options={'quality': 60})
def __unicode__(self):
    return self.nome_do_evento

View

from frontend.models import Eventos
from django.utils.timezone import now
def eventos(request):
    template = loader.get_template('frontend/eventos.html')
    eventos = Eventos.objects.filter(data_do_evento>now).order_by('data_do_evento')

This is the error

eventos = Eventos.objects.filter(data_do_evento>now).order_by('data_do_evento')

NameError: global name 'data_do_evento' is not defined

Upvotes: 0

Views: 1383

Answers (1)

Shang Wang
Shang Wang

Reputation: 25549

You can't use > to compare in django query, use __gt:

eventos = Eventos.objects.filter(data_do_evento__gt=now).order_by('data_do_evento')

django doc about gt.

Upvotes: 4

Related Questions