2012-11-19 6 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) 

Ich bin Neuling nach Django. Wie gestalte ich einen Warenkorb mit einer Sitzung? (Fragen Sie nach einem allgemeinen "Algorithmus" oder einem Beispielcode)So gestalten Sie den Einkaufskorb mit einer Sitzung?

+1

Fragen Sie über DB Design oder etwas anderes? Auch könnten Sie einige Ideen von hier https://github.com/ahmet/django-cart – rantanplan

+0

Ich frage nach db-Design und wie man Produkt in Sitzung speichern – user1836831

+0

Sie müssen wahrscheinlich den 'Warenkorb' in der Sitzung und nicht das Produkt speichern . Der Link, den ich Ihnen gab, enthält sehr einfache Codemuster. Ich schlage vor, Sie sehen es sich an. Um Ihre DB zu entwerfen, müssen Sie sich auch über die Funktionen, die Sie benötigen, entscheiden. Ihre Frage ist an dieser Stelle ziemlich vage. – rantanplan

Antwort

12

Ich würde kein Modell verwenden. Sie können die Werte direkt in der Sitzung speichern. Da Sie alles in der Sitzung speichern können, können Sie die Elemente in einem Wörterbuch speichern.

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