django-dockit

Provides a document based ORM suite modelled after Django's own conventions.

BSD-3-CLAUSE License

Stars
28

.. image:: https://secure.travis-ci.org/zbyte64/django-dockit.png?branch=master :target: http://travis-ci.org/zbyte64/django-dockit

Introduction

Django-DocKit provides a Document ORM in django. DocKit attempts to provide a batteries included experience while preserving django's various conventions.


Features

  • Backendable support for document and index storage

    • Mongodb
    • Django Model with support for celery or ztask indexing
  • Integrates with hyperadmin (https://github.com/zbyte64/django-hyperadmin)

    • Supports inlines
    • List Field support
    • Supports editing documents with deeply nested schemas
  • Class based views

  • Django forms support

  • Dynamically typed documents and schemas

  • Document and Index routing to multiple backends

Help & Feedback

We have a mailing list for general discussion and help: http://groups.google.com/group/django-dockit/

Installation


Requirements

  • Python 2.6 or later
  • Django 1.3 or later

Settings

Put 'dockit' into your INSTALLED_APPS section of your settings file.

Configuring Document Store Backend

===============
Django Document

Set the following in your settings file::

DOCKIT_BACKENDS = {
    'default': {
        'ENGINE': 'dockit.backends.djangodocument.backend.ModelDocumentStorage',
    }
}
DOCKIT_INDEX_BACKENDS = {
    'default': {
        'ENGINE': 'dockit.backends.djangodocument.backend.ModelIndexStorage',
    },
}

#Uncomment to use django-ztask for indexing
#DOCKIT_INDEX_BACKENDS['default']['INDEX_TASKS'] = 'dockit.backends.djangodocument.tasks.ZTaskIndexTasks'

#Uncomment to use django-celery for indexing
#DOCKIT_INDEX_BACKENDS['default']['INDEX_TASKS'] = 'dockit.backends.djangodocument.tasks.CeleryIndexTasks'

Then add 'dockit.backends.djangodocument' to INSTALLED_APPS

=======
Mongodb

Set the following in your settings file::

DOCKIT_BACKENDS = {
    'default': {
        'ENGINE':'dockit.backends.mongo.backend.MongoDocumentStorage',
        'USER':'travis',
        'PASSWORD':'test',
        'DB':'mydb_test',
        'HOST':'127.0.0.1',
        'PORT':27017,
    }
}
DOCKIT_INDEX_BACKENDS = {
    'default': {
        'ENGINE':'dockit.backends.mongo.backend.MongoIndexStorage',
        'USER':'travis',
        'PASSWORD':'test',
        'DB':'mydb_test',
        'HOST':'127.0.0.1',
        'PORT':27017,
    },
}