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
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
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
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
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
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
Colin Howe
1fa47206aa
Support for sparse indexes and omitting types from indexes
2011-05-26 19:39:41 +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
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
07e71d9ce9
Regression test for collection names an primary ordering
...
Closes #91
2011-05-20 14:18:16 +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
da8a057ede
Added test showing documents can be pickled
...
Refs #135
2011-05-19 12:41:38 +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
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
98436f271e
Merge branch 'master' into dev
2011-05-18 08:13:58 +01:00
Анхбаяр Лхагвадорж
96dbeea171
Added __hash__, __ne__ with test.
2011-04-12 20:23:16 +08:00
Vincent Driessen
07ef58c1a7
Rename delete_rule -> reverse_delete_rule.
2010-12-20 05:55:46 -08:00
Vincent Driessen
3b55deb472
Remove unused meta data.
2010-12-13 13:25:49 -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
Vincent Driessen
20eb920cb4
Change test docstring.
2010-12-06 00:06:03 -08:00
Vincent Driessen
b06d794854
Implementation of DENY rules.
2010-12-05 23:43:19 -08:00
Vincent Driessen
f3da5bc092
Fix: potential NameError bug in test case.
2010-12-05 23:03:40 -08:00
Vincent Driessen
ad1aa5bd3e
Add tests that need to be satisfied.
2010-12-05 22:24:28 -08:00
Vincent Driessen
dd21ce9eac
Initial implementation of the NULLIFY rule.
2010-12-05 22:24:27 -08:00
Vincent Driessen
86233bcdf5
Added initial implementation of cascading document deletion.
...
The current implementation is still very basic and needs some polish.
The essence of it is that each Document gets a new meta attribute called
"delete_rules" that is a dictionary containing (documentclass,
fieldname) as key and the actual delete rule as a value. (Possible
values are DO_NOTHING, NULLIFY, CASCADE and DENY. Of those, only
CASCADE is currently implented.)
2010-12-05 22:24:27 -08:00
Harry Marr
e9d478ed9f
Merge branch 'master' of http://github.com/cyberdelia/mongoengine into v0.4
2010-10-18 10:22:56 +01:00
Harry Marr
e93c4c87d8
Fixed inheritance collection issue
2010-10-17 17:41:20 +01:00
Timothée Peignier
9c9903664a
add support for pk property in documents and filters
2010-10-03 18:50:35 +02:00
Harry Marr
3d6ee0ce00
Merge branch 'master' of http://github.com/n1k0/mongoengine into v0.4
2010-09-19 19:55:57 +01:00
Nicolas Perriault
449f5a00dc
added a 'validate' option to Document.save() +docs +tests
2010-09-11 17:45:57 +02:00
Florian Schlachter
ec519f20fa
Makes the tests compatible to pymongo 1.7+. Not backwards compatible!
2010-07-19 01:32:28 +02:00
Harry Marr
b23353e376
Fixed inherited document primary key issue
2010-05-24 23:03:30 +01:00
Harry Marr
3b4df4615a
Fixed MRO error that occured on document inheritance
2010-04-17 21:45:11 +01:00
Harry Marr
25a0a5364a
Deprecated 'name' arg for fields in favour of 'db_field'
2010-03-17 13:47:23 +00:00
blackbrrr
c4513f0286
merged master
2010-02-11 15:43:37 -06:00
Harry Marr
568000805f
EmbeddedDocuments may now be non-polymorphic
2010-01-25 01:00:04 +00:00
blackbrrr
3fb6307596
Merge branch 'master' of git://github.com/hmarr/mongoengine
2010-01-23 18:41:52 -06:00
Harry Marr
470e08f616
exec_js functions now acknowledge Q objects
2010-01-23 03:05:27 +00:00
blackbrrr
f1e51f9708
Merge branch 'master' of git://github.com/hmarr/mongoengine into deferred_fields
2010-01-19 12:27:14 -06:00
Harry Marr
3357b55fbf
Indexing on ListFields now works properly
2010-01-16 15:35:01 +00:00
blackbrrr
b3c9a76619
Merge branch 'master' of git://github.com/hmarr/mongoengine
2010-01-14 11:32:39 -06:00
blackbrrr
5f84d6f8f8
added URLField, DecimalField, tests.
2010-01-14 11:32:28 -06:00
Harry Marr
ce69428cc6
Moved validate() to BaseDocument
2010-01-13 16:41:57 +00:00