Skip to main content

An extensible key-value store backend for Django applications.

Project description

An extensible key-value store backend for Django applications.

This module provides an abstraction layer for accessing a key-value storage.

Configuring your key-value store is a matter of adding a statement in this form to your Django settings module:

KEY_VALUE_STORE_BACKEND = 'scheme://store?parameters'

Where scheme is one of the following, persistent stores:

  • db (local table accessed through Django’s database connection)

  • googleappengine (Google AppEngine data store)

  • sdb (Amazon SimpleDB)

  • tokyotyrant (Tokyo Tyrant)

And some non-persistent stores, provided mainly for testing purposes:

  • locmem

  • memcached

store and parameters varies from one backend to another. Refer to the documentation included in each backend implementation for further details.

You can define a django_kvstore-backed custom model, in a fashion similar to Django models (although it does not support querying, except by primary key lookup).

Here’s an example of a custom model class using django_kvstore:

from django_kvstore import models

class MyData(models.Model):
    my_key = models.Field(pk=True)
    foo = models.Field()
    bar = models.Field()

Typical usage for such a model:

key = "something_unique"
data = MyData.get(key)
if data is None:
    data = MyData(my_key=key)
    data.foo = "foo"
    data.bar = "bar"
    data.save()

and deletion:

key = "something_unique"
data = MyData.get(key)
if data is not None:
    data.delete()

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-kvstore-1.0.tar.gz (7.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page