Source

dynamodb-mapper / README

Full commit
dynamodb-mapper -- a DynamoDB object mapper, based on boto.

The documentation currently assumes that you're running the dynamodb_condition
branch of Boto. If you're not, then the API for query and scan changes. You
will have to supply raw condition dicts, as is done in boto itself.


Example usage (assumes you've correctly set your Boto credentials)::

    from dynamodb_mapper.model import DynamoDBModel


    class DoomMap(DynamoDBModel):
        __table__ = "doom_map"
        __hash_key__ = "episode"
        __range_key__ = "map"
        __schema__ = {
            "episode": int,
            "map": int,
            "name": unicode,
            "cheats": set,
        }


    e1m1 = DoomMap()
    e1m1.episode = 1
    e1m1.map = 1
    e1m1.name = u"Hangar"
    e1m1.cheats = set(["idkfa", "iddqd", "idclip"])
    e1m1.save()


    # Later on, retrieve that same object from the DB...
    e1m1 = DoomMap.get((1, 1))

    # query on hash+range-keyed tables
    e1_maps = DoomMap.query(hash_key=1)

    from boto.dynamodb.condition import GT
    e1_maps_after_5 = DoomMap.query(
        hash_key=1,
        range_key_condition=GT(5))