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
04953351f1
Merge branch 'feature/slicing_fields' into dev
2011-05-20 14:18:48 +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
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
7ba40062d3
Fixes ordering with custom db field names
...
Closes #125
2011-05-18 12:18:33 +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
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
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
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
Alistair Roche
76cbb66843
Fixed error with _lookup_field
...
It was failing when given multiple fields
2011-04-28 14:31:19 +01:00
Harry Marr
69171282e9
Merge branch 'master' of https://github.com/lig/mongoengine into dev
...
Conflicts:
.gitignore
2011-03-06 13:11:21 +00:00
Michael Henson
53d66b7267
Added QuerySet.clone() to support copying querysets
2011-01-27 23:51:10 -05:00
Nick Vlku
ba9813e5a3
Fixed Issue 122: item_frequencies doesn't work if tag is also the name of a native js function
...
Did this by checking if the item is a native function, if it is I set it to an initial numeric value. Future occurrences of the tag count correctly.
2011-01-09 22:30:18 -05:00
Harry Marr
ce8b3ea0a1
Merge remote branch 'nvie/dev' into dev
2011-01-09 23:29:11 +00:00
Harry Marr
10c0b035ae
Merge remote branch 'aleszoulek/dev' into dev
2011-01-09 23:19:41 +00:00
Harry Marr
357dd0e7cc
Merge remote branch 'iapain/master' into dev
2011-01-09 20:52:39 +00:00
Serge Matveenko
34b923b7ac
Fix Issue#115: Possibility to bypass class_name check in queryset.
2010-12-21 18:29:51 +03:00
Vincent Driessen
e05e6b89f3
Add safe_update parameter to updates.
2010-12-16 11:54:34 +01:00
Vincent Driessen
f30fd71c5e
Refactor: put the delete rule constants into the queryset module, too.
2010-12-13 13:42:01 -08:00
Vincent Driessen
07dae64d66
More the deletion code over to the QuerySet object.
...
The Document object doens't have any delete_rule specific code anymore,
and leverages the QuerySet's ability to deny/cascade/nullify its
relations.
2010-12-13 12:36:24 -08:00
Harry Marr
3a0523dd79
Fixed issue with unset operation
2010-12-05 21:43:04 +00:00
Ales Zoulek
66baa4eb61
QS.all_fields - resets previous .only() and .exlude()
2010-11-10 22:01:27 +01:00
Deepak Thukral
89646439e7
fixed typo in error message
2010-11-10 21:02:59 +01:00
Ales Zoulek
bda4776a18
added Queryset.exclude() + tests
2010-11-05 12:57:48 +01:00
Harry Marr
c6058fafed
Merge branch 'dev' of github.com:hmarr/mongoengine into dev
2010-11-02 13:44:19 +00:00
Harry Marr
11950eabea
Merge branch 'master' of http://github.com/aleszoulek/mongoengine into dev
2010-11-02 13:43:33 +00:00
Harry Marr
6b880aa8b3
Fixed order-then-filter issue
2010-11-01 00:43:30 +00:00
Ales Zoulek
a3830be4c9
QuerySet.only() supports subfields + tests
2010-10-28 01:13:24 +02:00
Rached Ben Mustapha
18baa2dd7a
fix calling a queryset after skip and limit have been set
2010-10-19 22:40:36 +00:00
Harry Marr
e9d478ed9f
Merge branch 'master' of http://github.com/cyberdelia/mongoengine into v0.4
2010-10-18 10:22:56 +01:00
Steve Challis
39e27735cc
Merge branch 'v0.4' of git://github.com/hmarr/mongoengine into v0.4
...
Conflicts:
docs/changelog.rst
mongoengine/base.py
mongoengine/queryset.py
2010-10-17 23:48:20 +01:00
Harry Marr
e93c4c87d8
Fixed inheritance collection issue
2010-10-17 17:41:20 +01:00
Harry Marr
dcec61e9b2
Raise AttributeError when necessary on QuerySet[]
2010-10-17 16:36:22 +01:00
Harry Marr
6817f3b7ba
Updated docs for v0.4
2010-10-17 15:40:49 +01:00
Harry Marr
36993029ad
Removed old Q-object implementation
2010-10-17 14:22:45 +01:00
Harry Marr
012352cf24
Added snapshot and timeout methods to QuerySet
2010-10-17 14:21:55 +01:00
Harry Marr
3591593ac7
Fixed GenericReferenceField query issue
2010-10-17 13:55:48 +01:00
Harry Marr
d3c2dfbaee
Merge branch 'master' of http://github.com/ixc/mongoengine into v0.4
...
Conflicts:
mongoengine/fields.py
mongoengine/queryset.py
2010-10-17 13:54:16 +01:00
Harry Marr
b2b4456f74
Merge branch 'new-q-objects' into v0.4
2010-10-17 13:42:29 +01:00
Harry Marr
92471445ec
Fix changing databases
...
Conflicts:
mongoengine/connection.py
mongoengine/queryset.py
2010-10-05 00:46:13 +01:00
Harry Marr
3acfd90720
Added some imports for PyMongo 1.9 compatibility.
2010-10-04 14:58:00 +01:00
Harry Marr
4742328b90
Delete stale cursor when query is filtered. Closes #62 .
2010-10-04 12:11:01 +01:00