Hi All,

I have the following models:

class Event(models.Model):
    name = models.CharField(max_length=100)
    price = models.DecimalField(max_digits=4,decimal_places=2)

class Ticket(models.Model):
    number = models.IntegerField(db_index=True)
    event = models.ForeignKey(Event)

class TicketStatus(models.Model):
    ticket = models.ForeignKey(Ticket)
    transaction = models.ForeignKey(Transaction,related_name='actions')
    timestamp = models.DateTimeField()
    owner = models.ForeignKey(User)
status = models.CharField(max_length=max_len(STATUSES),choices=STATUSES)
    active = models.BooleanField()

I'm trying to build a drop-down filtered list of tickets, showing their current status. The dropdowns allow filtering by owner and by event.

Here's my code:

@login_required
def tickets(request):
    events = Event.objects.all()
    event = Event.objects.get(id=request.GET.get('event',events[0].id))
    if request.user.is_staff:
        user_id = request.GET.get('user',request.user.id)
        users = User.objects.all()
    else:
        user_id = request.user.id
        users = [user]
    queryset = TicketStatus.objects.filter(active=True)
    if user_id:
        queryset = queryset.filter(owner=User.objects.get(id=user_id))
    queryset = queryset.filter(ticket__event=event)
    return list_detail.object_list(
        request,
queryset = queryset.order_by('ticket__number').select_related('Ticket'),
        template_name = 'tickets_list.html',
        paginate_by = 50,
        extra_context = dict(
            events = events,
            current_event_id = event.id,
            users = users,
            current_user_id = user_id
            )
        )

As soon as I added the:

queryset = queryset.filter(ticket__event=event)

...line, evaluating the queryset grinds to a halt.
Why is that? How can I make it fast?

cheers,

Chris

--
Simplistix - Content Management, Batch Processing & Python Consulting
           - http://www.simplistix.co.uk

--
You received this message because you are subscribed to the Google Groups "Django 
users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to