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
GuestCartmodel 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 thiswhen a view is called by the guest?
GuestCartwould live for exactly 1 week (count from theGuestCartis 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.