Metadata-Version: 1.0
Name: mongodbforms
Version: 0.1.2
Summary: An implementation of django forms using mongoengine.
Home-page: http://www.schafproductions.com/projects/django-mongodb-forms/
Author: Jan Schrewe
Author-email: jan@schafproductions.com
License: New BSD License
Description: django mongodbforms
        ===================
        
        This is an implementation of django's model forms for mongoengine
        documents.
        
        Requirements
        ------------
        
        -  `mongoengine <http://mongoengine.org/>`_
        
        Usage
        -----
        
        mongodbforms supports forms for normal documents and embedded documents.
        
        Normal documents
        ~~~~~~~~~~~~~~~~
        
        To use mongodbforms with normal documents replace djangos forms with
        mongodbform forms.
        
        ::
        
            from mongodbforms import DocumentForm
        
            class BlogForm(DocumentForm)
                ...
        
        Embedded documents
        ~~~~~~~~~~~~~~~~~~
        
        For embedded documents use ``EmbeddedDocumentForm``. The Meta-object of
        the form has to be provided with an embedded field name. The embedded
        object is appended to this. The form constructor takes an additional
        argument: The document the embedded document gets added to.
        
        If the form is saved the new embedded object is automatically added to
        the provided parent document. If the embedded field is a list field the
        embedded document is appended to the list, if it is a plain embedded
        field the current object is overwritten. Note that the parent document
        is not saved.
        
        ::
        
            # forms.py
            from mongodbforms import EmbeddedDocumentForm
        
            class MessageForm(EmbeddedDocumentForm):
                class Meta:
                    document = Message
                    embedded_field_name = 'messages'
        
                    fields = ['subject', 'sender', 'message',]
        
            # views.py
            form = MessageForm(parent_document=some_document, ...)
        
        Documentation
        -------------
        
        In theory the documentation `Django's
        modelform <https://docs.djangoproject.com/en/dev/topics/forms/modelforms/>`_
        documentation should be all you need (except for one exception; read
        on). If you find a discrepancy between something that mongodbforms does
        and what Django's documentation says, you have most likely found a bug.
        Please `report
        it <https://github.com/jschrewe/django-mongodbforms/issues>`_.
        
        Form field generation
        ~~~~~~~~~~~~~~~~~~~~~
        
        Because the fields on mongoengine documents have no notion of form
        fields every mongodbform uses a generator class to generate the form
        field for a db field, which is not explicitly set.
        
        If you want to use your own generator class you can use the
        ``formfield_generator`` option on the form's Meta class.
        
        ::
        
            # generator.py
            from mongodbforms.fieldgenerator import MongoFormFieldGenerator
        
            class MyFieldGenerator(MongoFormFieldGenerator):
                ...
        
            # forms.py
            from mongodbforms import DocumentForm
        
            from generator import MyFieldGenerator
        
            class MessageForm(DocumentForm):
                class Meta:
                    formfield_generator = MyFieldGenerator
        
        
Platform: UNKNOWN
