Dan Crosta
0847687fd1
don't create extra index on _types ( fix #222 )
...
mongodb will use an index that begins with _types to service queries
against _types, so the extra index is only needed if no other fields are
indexed in the document. to be safe, we explicitly check all indexes to
see if any begins with _types, and only then prevent creation of the
additional index on _types.
2011-07-11 10:15:55 -04:00
Ross Lawley
dc5a613bc7
Fixes conversion of null genericreferences in querysets
...
closes #211
2011-07-11 09:19:27 +01:00
Ross Lawley
556e620c7a
Fixes recursion error when resetting changed fields
...
Fixes #214 - thanks to wpjunior for the test case
2011-07-01 08:44:46 +01:00
Ross Lawley
8e1d701c27
Fixed infinite recursion bug in _geo_indices()
...
Fixes #213 Thanks to joshink for the bug report
2011-06-30 10:32:05 +01:00
Ross Lawley
d51d95a28e
Merge pull request #212 from zakj/dev
...
Added GridFSProxy.__nonzero__ - thanks to zakj for the fix
2011-06-30 01:57:00 -07:00
Zak Johnson
3d15a3b3e2
Add GridFSProxy.__nonzero__
...
For documents that do not have a value set for a given field, most field types
return None (or [] in the case of ListField). This makes it easy to test
whether a field has been set using "if doc.field". FileFields, on the other
hand, always return a GridFSProxy. Adding GridFSProxy.__nonzero__ which simply
checks for a grid_id allows the same boolean-test pattern for FileFields, as
well.
2011-06-29 20:48:39 -07:00
Ross Lawley
87f486c4f1
Added select_related() and refactored dereferencing
...
Added a dereference class to handle both select_related
/ recursive dereferencing and fetching dereference.
Refs #206
2011-06-27 12:25:49 +01:00
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
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
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
658b85d327
Inconsistent setting of '_cls' broke inherited document referencing
...
Fixes #199
2011-06-15 16:51:49 +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
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
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
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
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
Colin Howe
4174918476
Merge in upstream dev
2011-06-08 12:33:36 +01:00
Colin Howe
7c62fdc0b8
Allow for types to never be auto-prepended to indices
2011-06-08 12:20:58 +01: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
cfcd77b193
Added tests displaying datetime behaviour.
...
Updated datetimefield documentation
2011-06-08 10:33:56 +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
7e87ed79ab
Merge branch 'feature/blinker_signals' into dev
2011-06-06 11:10:12 +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
Colin Howe
40df08c74c
Fix QuerySet.ensure_index for new index specs
2011-05-29 13:33:00 +01:00
Ross Lawley
5d778648e6
Inital tests for dereferencing improvements
2011-05-27 11:33:40 +01:00
Colin Howe
1fa47206aa
Support for sparse indexes and omitting types from indexes
2011-05-26 19:39:41 +01:00
Colin Howe
6f5bd7b0b9
Test needs a connection...
2011-05-26 18:54:52 +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
97a1310344
Tweakin test
2011-05-26 11:11:00 +01:00