views:

29

answers:

1

Hi, in my application I have per-user models, let me explain with a simple example:

class Item(db.Model):
master = db.ReferenceProperty(User,collection_name="items")

name = db.StringProperty()
description = db.StringProperty()
value = db.StringProperty()
def __unicode__(self):
    return u"%s"%self.name

So I can store informations on the database only if the user is authenticated. ( well, only if there is an user)

I'm looking for a way to let the anonymous/temporary users to register "personal items" in the session that expires after a certain amount of time.

Any idea?

A: 

You could create an Item-like lightweight class and store instances of it in the session. If the user registers later on and you want to sync with what you have in the database, you can pick up what you've stored in the session and convert to the real Item objects (and then save() them).

You can also do it all with the Item objects, leaving master reference as None.

Miguel Ventura