super9
super9

Reputation: 30131

Django queryset question

class Ticket(models.Model):
    event = models.ForeignKey(Event)
    name = models.CharField('Name', max_length=255) 
    price =  models.FloatField('Price', blank=True)

class CartItem(models.Model):
    cart = models.ForeignKey(Cart)    
    ticket = models.ForeignKey(Ticket)
    quantity = models.IntegerField()

How do I get Ticket.price * CartItem.Quantity where event = event

Upvotes: 3

Views: 109

Answers (1)

rolling stone
rolling stone

Reputation: 13016

You'll need to add error checking but you could do something like this logic-wise:

total = 0
cart_items = CartItem.objects.filter(ticket__event=event) # assuming there are multiple cart items per event
for cart_item in cart_items:
    new_total = cart_item.ticket.price * cart_item.quantity
    total = total + new_total

That should give you total revenue for an event.

Upvotes: 4

Related Questions