Ross Lawley
14be7ba2e2
Added support for the $ positional operator
...
closes #205
2011-06-21 14:50:11 +01:00
Ross Lawley
09c32a63ce
Fixes bug with appending post save - due to lists not being reset
2011-06-21 12:34:14 +01:00
Ross Lawley
08ba51f714
Updated geo_index checking to be recursive
...
Fixes #127 - Embedded Documents can declare geo indexes and have
them created automatically
2011-06-20 15:41:23 +01:00
Ross Lawley
e3cd398f70
Changed default collection naming
...
Also added upgrade text
2011-06-20 14:00:06 +01:00
Ross Lawley
f41c5217c6
Added a cleaner way to get collection names
...
Also handles dynamic collection naming - refs #180 .
2011-06-20 11:48:12 +01:00
Ross Lawley
1b0323bc22
Added document mixin support
...
For extendable / reusable documents
Fixes #204
2011-06-20 09:44:53 +01:00
Ross Lawley
e04e5f42ef
Added test inheriting document from another file works
...
Closes #28
2011-06-20 08:46:40 +01:00
Ross Lawley
c24bc77c17
Fixes depreciation warnings in Django Auth.
...
Closes #156
2011-06-17 15:07:27 +01:00
Ross Lawley
99f923e27f
Fixed queryset repr mid iteration
...
Closes #144
2011-06-17 15:04:07 +01:00
Ross Lawley
f3d265bbe0
Added to_dbref
...
Thanks to Ankhbayar for the initial code
Closes #202
2011-06-17 14:23:40 +01:00
Ross Lawley
5e7efcc8c2
Added 'hint' support, telling Mongo the proper index to use for the query.
...
Judicious use of hints can greatly improve query performance. When doing a query
on multiple fields (at least one of which is indexed) pass the indexed field as
a hint to the query. Hinting will not do anything if the corresponding index
does not exist. The last hint applied to this cursor takes precedence over all
others.
Closes #203
2011-06-17 12:43:28 +01:00
Ross Lawley
62c8823e64
Fixing requirements
...
Test requirements are not install requirements!
2011-06-17 11:39:53 +01:00
Ross Lawley
5cc9188c5b
Improved validation of (Generic)Reference fields
2011-06-16 15:25:09 +01:00
Ross Lawley
5e8604967c
Fixes for django Q query rendering bug
...
Ensures that the QNodes haven't already been processed
Fixes #185
2011-06-16 15:00:10 +01:00
Ross Lawley
cae3f3eeff
Fixes pickling issue with choice fields
...
Removes the dynamic __get_field_display partials before pickling
2011-06-16 12:50:45 +01:00
Ross Lawley
22a7ee5885
Handle old named (referenced) docs
...
Refs #199
2011-06-16 09:56:54 +01:00
Ross Lawley
658b85d327
Inconsistent setting of '_cls' broke inherited document referencing
...
Fixes #199
2011-06-15 16:51:49 +01:00
Ross Lawley
967e72723b
Added note to item_frequencies method.
...
Current implementation is relatively simple, for complex schemas
the user will have to write their own map reduce.
2011-06-15 14:55:38 +01:00
Ross Lawley
5411cc5573
Updated changelog
2011-06-15 11:30:10 +01:00
Ross Lawley
ffb3e8b7b9
Added help_text and verbose_name to fields
...
closes #192
2011-06-15 11:28:41 +01:00
Ross Lawley
94cad89e32
Fixes to item_frequencies - now handles path lookups
...
fixes #194
2011-06-15 11:22:27 +01:00
Ross Lawley
0338ac17b1
Fixes multiple assignment issue preventing saves
...
Thanks to @wpjunior for the ticket and testcase
Also fixed bug in BaseList
fixes #195
2011-06-15 08:57:46 +01:00
Ross Lawley
cb1dfdfac6
Fixes to signals
...
The sender is the class of the document not the instance - easier to
hook into
2011-06-14 16:56:04 +01:00
Ross Lawley
576db9ca88
Fixes DateTimeField handling of date objects.
...
Fixes #191
2011-06-14 15:09:03 +01:00
Ross Lawley
4c2b83d9ca
Remove errant __delete__ method
2011-06-14 15:00:26 +01:00
Ross Lawley
7cb24446ec
Merge remote branch 'origin/dev' into dev
2011-06-14 14:36:30 +01:00
Ross Lawley
0ed79a839d
Added delta tracking to documents.
...
All saves on exisiting items do set / unset operations only on changed fields.
* Note lists and dicts generally do set operations for things like pop() del[key]
As there is no easy map to unset and explicitly matches the new list / dict
fixes #18
2011-06-14 14:35:38 +01:00
Ross Lawley
e518c51de3
Merge pull request #193 from colinhowe/dev
...
Improved Validation warnings - Thanks Colin Howe
2011-06-13 12:52:31 -07:00
Ross Lawley
ea35fb1c54
More robust _present_fields additions
2011-06-13 12:49:09 +01:00
Ross Lawley
7b29378319
Fixes issue converting to mongo
2011-06-13 12:40:12 +01:00
Ross Lawley
fd7f882011
Save no longer tramples over documents now sets or unsets explicit fields.
...
Fixes #146 , refs #18
Thanks @zhangcheng for the initial code
2011-06-09 16:09:06 +01:00
Ross Lawley
fb09fde209
Updated changelog
2011-06-09 14:26:52 +01:00
Ross Lawley
b2848b8519
Added ComplexDateTimeField
...
Thanks to @pelletier for the code.
Refs #187
2011-06-09 14:20:21 +01:00
Ross Lawley
417bb1b35d
Added regression test for #185
2011-06-09 12:15:36 +01:00
Ross Lawley
199b4eb860
Added django_tests and regression test for order_by
...
Refs #190
2011-06-09 12:08:37 +01:00
Ross Lawley
a66417e9d0
pep8 update
2011-06-09 11:31:47 +01:00
Ross Lawley
b9255f73c3
Updated docs
2011-06-09 11:28:57 +01:00
Ross Lawley
4b9bacf731
Added ComplexBaseField
...
* Handles the efficient lazy dereferencing of DBrefs.
* Handles complex nested values in ListFields and DictFields
* Allows for both strictly declared ListFields and DictFields where the embedded
value must be of a field type or no restrictions where the values can be a mix
of field types / values.
* Handles DBrefences of documents where allow_inheritance = False.
2011-06-09 11:25:24 +01:00
Ross Lawley
602d7dad00
Improvements to Abstract Base Classes
...
Added test example highlighting what to do to migrate a class from
complex (allows inheritance) to simple.
2011-06-08 17:10:26 +01:00
Ross Lawley
d32dd9ff62
Added _get_FIELD_display() for handy choice field display lookups
...
closes #188
2011-06-08 13:07:08 +01:00
Ross Lawley
28b7ef2304
Merge remote branch 'origin/dev' into dev
2011-06-08 13:06:47 +01:00
Ross Lawley
6dc2672dba
Updated changelog
2011-06-08 13:03:42 +01:00
Ross Lawley
9a949984ee
Merge pull request #189 from colinhowe/dev-notypesindex
...
Thanks @colinhowe!
2011-06-08 04:40:54 -07:00
Ross Lawley
3c88faa889
Updated slave_okay syntax
...
Now inline with .timeout() and .snapshot().
Made them chainable - so its easier to use and added tests for cursor_args
2011-06-08 12:06:26 +01:00
Ross Lawley
d15f5ccbf4
Added _slave_okay to clone
2011-06-08 10:41:08 +01:00
Ross Lawley
cfcd77b193
Added tests displaying datetime behaviour.
...
Updated datetimefield documentation
2011-06-08 10:33:56 +01:00
Ross Lawley
525c25b9f6
Merge branch 'master' into dev
2011-06-07 15:15:06 +01:00
Ross Lawley
c059ad47f2
Updated django docs refs #186
2011-06-07 15:14:41 +01:00
Ross Lawley
48fd6c1344
Merge remote branch 'origin/master' into dev
2011-06-07 14:38:04 +01:00
Ross Lawley
1ee50922d9
Merge pull request #186 from kuno/master
...
fixed import path typo in django document
2011-06-07 06:37:34 -07:00
Ross Lawley
711db45c02
Changelist updated
2011-06-06 14:36:44 +01:00
Ross Lawley
55e20bda12
Added slave_okay syntax to querysets.
...
* slave_okay (optional): if True, allows this query to be run against a replica secondary.
2011-06-06 14:35:46 +01:00
Ross Lawley
56f00a64d7
Added bulk insert method.
...
Updated changelog and added tests / query_counter tests
2011-06-06 12:37:06 +01:00
Ross Lawley
8553022b0e
Merge branch 'dev' into feature/dev-indexes
2011-06-06 11:40:21 +01:00
Ross Lawley
74b5043ef9
Added signals documentation
2011-06-06 11:39:58 +01:00
Ross Lawley
0e45078116
Added Blinker signal support
2011-06-06 11:34:43 +01:00
Ross Lawley
7e87ed79ab
Merge branch 'feature/blinker_signals' into dev
2011-06-06 11:10:12 +01:00
Ross Lawley
7312db5c25
Updated docs / authors.
...
Thanks @jorgebastida for the awesome query_counter test context manager.
2011-06-06 11:07:27 +01:00
Ross Lawley
ec7effa0ef
Added DereferenceBaseField class
...
Handles the lazy dereferencing of all items in a list / dict.
Improves query efficiency by an order of magnitude.
2011-06-06 11:04:06 +01:00
Ross Lawley
5d778648e6
Inital tests for dereferencing improvements
2011-05-27 11:33:40 +01:00
Ross Lawley
c903af032f
Added inline_map_reduce functionality
...
Also added map_reduce method for calculating item_frequencies
Closes #183
2011-05-26 15:44:43 +01:00
Ross Lawley
9dd3504765
Updated changelog
2011-05-26 11:56:56 +01:00
Ross Lawley
97a1310344
Tweakin test
2011-05-26 11:11:00 +01:00
Ross Lawley
5ab13518db
Added test confirming order_by reference field doesnt work
2011-05-25 13:50:52 +01:00
Ross Lawley
eb892241ee
Added regression test for editting embedded documents
...
Closes #35
2011-05-25 13:31:01 +01:00
Ross Lawley
fac3f038a8
Added regression test for issue with unset and pop
...
Closes #118
2011-05-25 12:20:56 +01:00
Ross Lawley
b1cdd1eb26
Updated docs regarding ReferenceFields
...
Closes #149
2011-05-25 12:01:41 +01:00
Ross Lawley
60c8254f58
Tweaks to item_frequencies
...
Updated to use a ternary statement and added tests
Refs #124 #122
Thanks to @nickvlku for the code.
2011-05-25 11:10:42 +01:00
Ross Lawley
2ce70448b0
Merge branch 'dev' into pull_124
2011-05-25 09:54:56 +01:00
Ross Lawley
3861103585
Updated connection exception to provide more info on the cause.
...
Fixes #178
2011-05-25 09:36:25 +01:00
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
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
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