[ django中使用mongodb,mongoengine ]


官方文档(http://docs.mongoengine.org/guide/querying.html)

安装模块

pip install mongoengine

可以完全替代django中的原本的mongodb

from mongoengine import Document, StringField, BooleanField, DateTimeField, DictField, connect
from datetime import datetime

connect(
    db="eform",
    username="debug",
    password="debug",
    host="127.0.0.1",
    port=27017,
    authentication_source='admin'
)

class MongoEformSchema(Document):

    endorsor_require_choices = [
        (False,'No'),
        (True,'Yes'),
    ]
    # id = models.ObjectIdField()
    title = StringField(max_length=500)
    formNo = StringField(max_length=255)
    ref = StringField(max_length=500)
    issue = StringField(max_length=500,default="")
    formSchema = DictField()

    ## if the form endorsor_require == False, no verify and endorse needed
    endorsor_require = BooleanField(choices=endorsor_require_choices)
    form_issue_date = DateTimeField(blank=True,null=True)
    created = DateTimeField(default=datetime.now)
    updated = DateTimeField(default=datetime.now)
    enable = BooleanField(default=True)
    deleted = StringField(max_length=25,default="False")

    meta = {
        'collection': 'eform_eformschema',
    }

t = MongoEformSchema(title="test")
t.save()
MongoEformSchema.objects.count()
MongoEformSchema.objects.all()
MongoEformSchema.objects(enable=False)