Begun GridFS documentation

This commit is contained in:
Steve Challis 2010-10-17 23:43:58 +01:00
parent 67a9b358a0
commit dc7181a3fd
4 changed files with 31 additions and 4 deletions

26
docs/guide/gridfs.rst Normal file
View File

@ -0,0 +1,26 @@
======
GridFS
======
GridFS support comes in the form of the :class:`~mongoengine.FileField` field
object. This field acts as a file-like object and provides a couple of
different ways of inserting and retrieving data. Metadata such as content-type
can also be stored alongside the stored files. In the following example, an
document is created to store details about animals, including a photo:
class Animal(Document):
genus = StringField()
family = StringField()
photo = FileField()
marmot = Animal('Marmota', 'Sciuridae')
marmot_photo = open('marmot.jpg') # Retrieve a photo from disk
marmot.photo = marmot_photo # Store the photo in the document
marmot.save()
So adding file data to a document is as easy as adding data to any other
.. versionadded:: 0.4

View File

@ -10,3 +10,4 @@ User Guide
defining-documents
document-instances
querying
gridfs

View File

@ -75,10 +75,9 @@ class User(Document):
email address.
"""
now = datetime.datetime.now()
# Normalize the address by lowercasing the domain part of the email
# address.
# Not sure why we'r allowing null email when its not allowed in django
if email is not None:
try:
email_name, domain_part = email.strip().split('@', 1)
@ -86,12 +85,12 @@ class User(Document):
pass
else:
email = '@'.join([email_name, domain_part.lower()])
user = User(username=username, email=email, date_joined=now)
user.set_password(password)
user.save()
return user
def get_and_delete_messages(self):
return []

View File

@ -20,6 +20,7 @@ __all__ = ['StringField', 'IntField', 'FloatField', 'BooleanField',
RECURSIVE_REFERENCE_CONSTANT = 'self'
class StringField(BaseField):
"""A unicode string field.
"""