Currently, I have a Cart
model for each registered CustomUser
(OneToOne relation):
class Cart(models.Model):
created_at = models.DateTimeField(auto_now_add = True)
user = models.OneToOneField(CustomUser, related_name='cart')
But now I have some requirement for anonymous user (guest). after looking for some articles, session seems to be required?
- Simple database-based session.
- How to let guest has a related temporary
GuestCart
model when they need:- Because I don't expect even a robot has a cart to waste resource.
- So...may I
GuestCart.objects.create(session = request.session['cart']) #just pseudo-code, I don't sure how to do this
when a view is called by the guest?
GuestCart
would live for exactly 1 week (count from theGuestCart
is established. Time won't updated for guest's activity), and should be deleted automatically when expired.
** Update @ 2015/3/21: currently, I add a new key cart_id
into request.session
, and not save session info into DB.