Ross Lawley
0708d1bedc
Run all tests...
2011-05-25 09:34:50 +01:00
Ross Lawley
c3a8840435
Blinker signals added
2011-05-24 20:27:19 +01:00
Ross Lawley
3246cf8bdd
Merge pull request #177 from sbook/feature/update_lists
...
Added the ability to update individual items in ListFields.
Example:
Message.objects(pk=12).update(set__comments__5__body="Testing 123")
2011-05-24 06:13:10 -07:00
Ross Lawley
7ecf84395a
Improved DictFields
...
Allow searching multiple levels deep in DictFields
Allow DictField entries containing strings to use matching operators
Thanks again to @theojulien for the initial code #108
2011-05-24 14:07:58 +01:00
Ross Lawley
32bab13a8a
Added MapField, similar to DictField
...
Similar to DictField except the value of each entry is always of a certain
(declared) field type.
Thanks again to @theojulienne for the code #108
2011-05-24 12:50:48 +01:00
Ross Lawley
088c40f9f2
Added Abstract Base Classes
...
Thanks to @theojulienne for the code :) #108
2011-05-24 12:30:12 +01:00
Alistair Roche
305fd4b232
Fixed whitespace
2011-05-24 11:44:43 +01:00
Alistair Roche
fe5111743d
Merge branch 'dev' into feature/update_lists
...
Conflicts:
mongoengine/queryset.py
2011-05-24 11:33:44 +01:00
Alistair Roche
8427877bd2
Merge remote branch 'upstream/dev' into dev
2011-05-24 11:32:23 +01:00
Alistair Roche
118c0deb7a
Fixed list-indexing syntax; created tests.
2011-05-24 11:31:44 +01:00
Ross Lawley
1126c85903
Added Custom Objects Managers
...
Managers can now be directly declared in a Document eg::
```python
class CustomQuerySetManager(QuerySetManager):
@staticmethod
def get_queryset(doc_cls, queryset):
return queryset(is_published=True)
class Post(Document):
is_published = BooleanField(default=False)
published = CustomQuerySetManager()
```
Refactored the name of the `_manager_func` to `get_queryset` to mark it as
part the public API. If declaring a Manager with a get_queryset method, it
should be a staticmethod, that accepts the document_class and the queryset.
Note - you can still use decorators in fact in the example below,
we effectively do the same thing as the first example and is much less verbose.
```python
class Post(Document):
is_published = BooleanField(default=False)
@queryset_manager
def published(doc_cls, queryset):
return queryset(is_published=True)
```
Thanks to @theojulienne for the initial impetus and code sample #108
2011-05-24 11:26:46 +01:00
Alistair Roche
13935fc335
Merge branch 'dev' into feature/update_lists
2011-05-24 08:58:38 +01:00
Alistair Roche
36034ee15f
'set__comments__0__body="asdf"' syntax works
2011-05-23 18:27:01 +01:00
Ross Lawley
1b72ea9cc1
Fixed detection of unique=True in embedded documents.
...
Added some more test cases - thanks to @heyman for the initial
test case.
Closes #172
Refs #171
2011-05-20 16:09:03 +01:00
Ross Lawley
04953351f1
Merge branch 'feature/slicing_fields' into dev
2011-05-20 14:18:48 +01:00
Ross Lawley
07e71d9ce9
Regression test for collection names an primary ordering
...
Closes #91
2011-05-20 14:18:16 +01:00
Ross Lawley
5f53cda3ab
Added regression test for #94
2011-05-20 10:55:01 +01:00
Ross Lawley
9260ff9e83
Updated docs and added a NotRegistered exception
...
For handling GenericReferences that reference documents that haven't
been imported.
Closes #170
2011-05-20 10:22:22 +01:00
Ross Lawley
08d1689268
Updated to handle the converntional api style for slicing a field
...
Added testcase to demonstrate embedded slicing as well.
Refs #167
2011-05-20 09:47:41 +01:00
Ross Lawley
40b69baa29
Implementing Write Concern
...
Added write_options dict to save, update, update_one and get_or_create.
Thanks to justquick for the initial ticket and code.
Refs #132
2011-05-19 16:49:00 +01:00
Ross Lawley
b3251818cc
Added regression test for custom queryset ordering
...
Closes #126
2011-05-19 13:04:14 +01:00
Ross Lawley
da8a057ede
Added test showing documents can be pickled
...
Refs #135
2011-05-19 12:41:38 +01:00
Ross Lawley
efba9ef52a
Merge remote branch 'srackham/gridfs-read-seek' into gridfs-read-seek
2011-05-19 10:14:51 +01:00
Ross Lawley
fb61c9a765
Regression test for mysterious uniqueness constraint when inserting into mongoengine
...
Closes #143 Thanks to tfausak for the test case.
2011-05-19 09:55:34 +01:00
Ross Lawley
95c2643f63
Added test showing primary=True behaviour.
...
If you set a field as primary, then unexpected behaviour can occur.
You won't create a duplicate but you will update an existing document.
Closes #138
2011-05-18 20:31:28 +01:00
Ross Lawley
fc2aff342b
Unique indexes are created before user declared indexes
...
This ensures that indexes are created with the unique flag, if a user
declares the index, that would automatically be declared by the `unique_indexes`
logic.
Thanks to btubbs for the test case.
Fixes #129
2011-05-18 17:37:41 +01:00
Ross Lawley
371dbf009f
Updated QuerySet to allow more granular fields control.
...
Added a fields method and tests showing the retrival of subranges of
List Fields.
Refs #167
2011-05-18 16:39:19 +01:00
Ross Lawley
5d5a84dbcf
Spacing issue cleaned up
2011-05-18 16:24:35 +01:00
Ross Lawley
7526272f84
Added test example of updating an embedded field
...
Closes #139
2011-05-18 12:27:33 +01:00
Ross Lawley
5cbc76ea81
Pep8
2011-05-18 12:26:51 +01:00
Ross Lawley
7ba40062d3
Fixes ordering with custom db field names
...
Closes #125
2011-05-18 12:18:33 +01:00
Ross Lawley
1781c4638b
Changed how the connection identity key is made
...
Uses the current thread identity as well as the process idenity to form
the key.
Fixes #151
2011-05-18 11:41:23 +01:00
Ross Lawley
1a049ee49d
Added regression test case for mongoengine/issues/155
2011-05-18 11:06:14 +01:00
Ross Lawley
31521ccff5
Added queryset clone support and tests, thanks to hensom
...
Fixes #130
2011-05-18 10:30:07 +01:00
Ross Lawley
e3b4563c2b
Merge remote branch 'hensom/master' into dev
2011-05-18 10:06:16 +01:00
Ross Lawley
c3f5ed0e0e
Merge branch 'master' into dev
2011-05-18 10:06:02 +01:00
Ross Lawley
378b52321b
Merge commit '18baa2dd7a4e909169b694cb6ec36214c5a51506'
2011-05-18 09:17:05 +01:00
Ross Lawley
98436f271e
Merge branch 'master' into dev
2011-05-18 08:13:58 +01:00
Ross Lawley
a76008e440
Merge pull request #164 from glyphobet/master
...
spherical geospatial operators.
Thanks again to glyphobet
2011-05-16 08:18:22 -07:00
Matt Chisholm
6cf0cf9e7d
slight reordering of test code for clarity
2011-05-10 12:31:31 +02:00
Matt Chisholm
608f08c267
Implement spherical geospatial query operators & unit tests
...
fixes https://github.com/hmarr/mongoengine/issues/163
2011-05-10 12:28:56 +02:00
Ross Lawley
bd3340c73f
Merge pull request #162 from glyphobet/master
...
Comments in unit tests should say "degrees," not "miles":
MongoDB docs are confusing, only the spherical queries $nearSphere and $centerSphere use radians. The $near and $center queries, which are the ones that are used in these mongoengine tests, use the same units as the coordinates. For distances on the earth, this means they use degrees. (This is also why the 2d indexes can be used for other 2d data, not just points on the earth.)
Here's a mongo shell session demonstrating that $near and $center use degrees, and that $nearSphere and $centerSphere are the ones that use radians: https://gist.github.com/964126
So, these mongoengine tests are using $near and $center, which use degrees, not miles, kilometers, or radians.
Thanks glyphobet for the clarification and taking time to explain it!
2011-05-10 02:15:17 -07:00
Matt Chisholm
3b7a8ce449
change comments to reflect that the geospatial queries use degrees, not miles
2011-05-09 22:29:27 +02:00
Ross Lawley
e9ad04f763
Merge pull request #160 from Ankhbayar/master
...
Added __hash__, __ne__ with test.
Thanks Ankhbayar
2011-05-09 02:28:41 -07:00
Ross Lawley
f0277736e2
Updated queryset to handle latest version of pymongo
...
map_reduce now requires an output.
Reverted previous _lookup_field change, until a test case
is produced for the incorrect behaviour.
2011-05-09 10:22:37 +01:00
Ross Lawley
49c978ad9e
Merge remote branch 'upstream/master'
2011-05-09 09:01:19 +01:00
Harry Marr
eeae1b4aea
Merge pull request #148 from srackham/drop-close-warning
...
Drop gridfs close warning
2011-05-08 06:41:28 -07:00
Harry Marr
9432d1a194
Merge pull request #158 from glyphobet/master
...
tiny documentation fix
2011-05-08 06:40:29 -07:00
Harry Marr
3b2dbf1897
Merge pull request #159 from gregglind/patch-1
...
Tiny spelling correction / clarification.
2011-05-08 06:39:45 -07:00
Gregg Lind
9c1ad5f631
Tiny spelling correction / clarification.
2011-05-04 18:01:06 -07:00