2012-11-19 18 views
9
class Product(models.Model): 
    name = models.CharField(max_length=50) 
    slug = models.SlugField() 
    unit_price = models.DecimalField(max_digits=5, decimal_places=2) 

Sono un principiante di Django. Come progettare il carrello acquisti usando la sessione? (chiedere un "algoritmo" generale o qualche codice di esempio)Come progettare il carrello utilizzando la sessione?

+1

Stai chiedendo di progettare DB o qualcos'altro? Puoi anche prendere qualche idea da qui https://github.com/ahmet/django-cart – rantanplan

+0

Chiedo db design e come conservare il prodotto in sessione – user1836831

+0

Probabilmente hai bisogno di memorizzare il 'carrello' in sessione e non il prodotto . Il link che ti ho dato presenta dei pattern di codice molto semplici. Ti suggerisco di dare un'occhiata a questo. Inoltre, al fine di progettare DB, è necessario prendere in considerazione le funzionalità necessarie. La tua domanda è abbastanza vaga a questo punto. – rantanplan

risposta

12

Non vorrei usare un modello. È possibile memorizzare i valori direttamente nella sessione. Considerando che è possibile memorizzare tutto nella sessione è possibile memorizzare gli elementi in un dizionario, fare qualcosa di simile.

def view_cart(request): 
    cart = request.session.get('cart', {}) 
    # rest of the view 

def add_to_cart(request, item_id, quantity): 
    cart = request.session.get('cart', {}) 
    cart[item_id] = quantity 
    request.session['cart'] = cart 
    # rest of the view