Skip to content

Commit

Permalink
Bump to v0.3
Browse files Browse the repository at this point in the history
  • Loading branch information
hmarr committed Mar 17, 2010
1 parent 0d89e96 commit 00c8d7e
Show file tree
Hide file tree
Showing 8 changed files with 65 additions and 10 deletions.
4 changes: 2 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
include MANIFEST.in
include README.rst
include LICENSE
include AUTHORS
recursive-include docs *
prune docs/_build
recursive-include tests *
recursive-exclude * *.pyc *.swp
10 changes: 9 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ a `tutorial <http://hmarr.com/mongoengine/tutorial.html>`_, a `user guide
Installation
============
If you have `setuptools <http://peak.telecommunity.com/DevCenter/setuptools>`_
you can use ``easy_install mongoengine``. Otherwise, you can download the
you can use ``easy_install -U mongoengine``. Otherwise, you can download the
source from `GitHub <http://github.com/hmarr/mongoengine>`_ and run ``python
setup.py install``.

Expand Down Expand Up @@ -82,6 +82,14 @@ Tests
To run the test suite, ensure you are running a local instance of MongoDB on
the standard port, and run ``python setup.py test``.

Community
=========
- `MongoEngine Users mailing list
<http://groups.google.com/group/mongoengine-users>`_
- `MongoEngine Developers mailing list
<http://groups.google.com/group/mongoengine-dev>`_
- `#mongoengine IRC channel <irc://irc.freenode.net/mongoengine>`_

Contributing
============
The source is available on `GitHub <http://github.com/hmarr/mongoengine>`_ - to
Expand Down
34 changes: 34 additions & 0 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,40 @@
Changelog
=========

Changes in v0.3
===============
- Added MapReduce support
- Added ``contains``, ``startswith`` and ``endswith`` query operators (and
case-insensitive versions that are prefixed with 'i')
- Deprecated fields' ``name`` parameter, replaced with ``db_field``
- Added ``QuerySet.only`` for only retrieving specific fields
- Added ``QuerySet.in_bulk()`` for bulk querying using ids
- ``QuerySet``\ s now have a ``rewind()`` method, which is called automatically
when the iterator is exhausted, allowing ``QuerySet``\ s to be reused
- Added ``DictField``
- Added ``URLField``
- Added ``DecimalField``
- Added ``BinaryField``
- Added ``GenericReferenceField``
- Added ``get()`` and ``get_or_create()`` methods to ``QuerySet``
- ``ReferenceField``\ s may now reference the document they are defined on
(recursive references) and documents that have not yet been defined
- ``Document`` objects may now be compared for equality (equal if _ids are
equal and documents are of same type)
- ``QuerySet`` update methods now have an ``upsert`` parameter
- Added field name substitution for Javascript code (allows the user to use the
Python names for fields in JS, which are later substituted for the real field
names)
- ``Q`` objects now support regex querying
- Fixed bug where referenced documents within lists weren't properly
dereferenced
- ``ReferenceField``\ s may now be queried using their _id
- Fixed bug where ``EmbeddedDocuments`` couldn't be non-polymorphic
- ``queryset_manager`` functions now accept two arguments -- the document class
as the first and the queryset as the second
- Fixed bug where ``QuerySet.exec_js`` ignored ``Q`` objects
- Other minor fixes

Changes in v0.2.2
=================
- Fixed bug that prevented indexes from being used on ``ListField``\ s
Expand Down
2 changes: 2 additions & 0 deletions docs/guide/querying.rst
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ expressions:
* ``endswith`` -- string field ends with value
* ``iendswith`` -- string field ends with value (case insensitive)

.. versionadded:: 0.3

Limiting and skipping results
=============================
Just as with traditional ORMs, you may limit the number of results returned, or
Expand Down
10 changes: 6 additions & 4 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,16 @@ MongoDB. To install it, simply run

.. code-block:: console
# easy_install mongoengine
# easy_install -U mongoengine
The source is available on `GitHub <http://github.com/hmarr/mongoengine>`_.

If you are interested in contributing, join the developers' `mailing list
<http://groups.google.com/group/mongoengine-dev>`_. Some of us also like to
hang out at `#mongoengine IRC channel <irc://irc.freenode.net/mongoengine>`_.
To get help with using MongoEngine, use the `MongoEngine Users mailing list
<http://groups.google.com/group/mongoengine-users>`_ or come chat on the
`#mongoengine IRC channel <irc://irc.freenode.net/mongoengine>`_.

If you are interested in contributing, join the developers' `mailing list
<http://groups.google.com/group/mongoengine-dev>`_.

.. toctree::
:maxdepth: 2
Expand Down
2 changes: 1 addition & 1 deletion mongoengine/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

__author__ = 'Harry Marr'

VERSION = (0, 2, 2)
VERSION = (0, 3, 0)

def get_version():
version = '%s.%s' % (VERSION[0], VERSION[1])
Expand Down
11 changes: 10 additions & 1 deletion mongoengine/queryset.py
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,8 @@ def get(self, *q_objs, **query):
:class:`~mongoengine.queryset.MultipleObjectsReturned` or
:class:`~mongoengine.queryset.DoesNotExist` exceptions if multiple or
no results are found.
.. versionadded:: 0.3
"""
self.__call__(*q_objs, **query)
count = self.count()
Expand All @@ -360,6 +362,8 @@ def get_or_create(self, *q_objs, **query):
results are found. A new document will be created if the document
doesn't exists; a dictionary of default values for the new document
may be provided as a keyword argument called :attr:`defaults`.
.. versionadded:: 0.3
"""
defaults = query.get('defaults', {})
if 'defaults' in query:
Expand Down Expand Up @@ -406,6 +410,8 @@ def in_bulk(self, object_ids):
:param object_ids: a list or tuple of ``ObjectId``\ s
:rtype: dict of ObjectIds as keys and collection-specific
Document subclasses as values.
.. versionadded:: 0.3
"""
doc_map = {}

Expand All @@ -428,6 +434,8 @@ def next(self):

def rewind(self):
"""Rewind the cursor to its unevaluated state.
.. versionadded:: 0.3
"""
self._cursor.rewind()

Expand Down Expand Up @@ -470,7 +478,6 @@ def map_reduce(self, map_f, reduce_f, finalize_f=None, limit=None,
PyMongo version **>= 1.2**.
.. versionadded:: 0.3
"""
from document import MapReduceDocument

Expand Down Expand Up @@ -572,6 +579,8 @@ def only(self, *fields):
post = BlogPost.objects(...).only("title")
:param fields: fields to include
.. versionadded:: 0.3
"""
self._loaded_fields = []
for field in fields:
Expand Down
2 changes: 1 addition & 1 deletion tests/queryset.py
Original file line number Diff line number Diff line change
Expand Up @@ -696,7 +696,7 @@ class BlogPost(Document):
post2.save()
post3.save()

self.assertEqual(BlogPost._fields['title'].name, '_id')
self.assertEqual(BlogPost._fields['title'].db_field, '_id')
self.assertEqual(BlogPost._meta['id_field'], 'title')

map_f = """
Expand Down

0 comments on commit 00c8d7e

Please sign in to comment.