Ross Lawley
d593f7e04b
Fixed EmbeddedDocuments with id
also storing _id
( #402 )
2013-07-11 08:11:00 +00:00
Ross Lawley
6c599ef506
Fix edge case where _dynamic_keys stored as None ( #387 , #401 )
2013-07-11 07:15:34 +00:00
Ross Lawley
e155e1fa86
Add a default for previously pickled versions
2013-07-10 20:10:01 +00:00
Ross Lawley
af86aee970
_dynamic field updates - fixed pickling and creation order
...
Dynamic fields are ordered based on creation and stored in _fields_ordered (#396 )
Fixed pickling dynamic documents `_dynamic_fields` (#387 )
2013-07-10 10:57:24 +00:00
Ross Lawley
7cb46d0761
Fixed ListField setslice and delslice dirty tracking ( #390 )
2013-07-10 09:11:50 +00:00
Ross Lawley
f0d4e76418
Documentation updates
2013-06-07 08:21:15 +00:00
Ross Lawley
7451244cd2
Fixed cascading saves which weren't turned off as planned ( #291 )
2013-06-06 21:04:54 +00:00
Ross Lawley
a7631223a3
Fixed Datastructures so instances are a Document or EmbeddedDocument ( #363 )
2013-06-06 17:58:10 +00:00
Ross Lawley
dc3b09c218
Improved cascading saves write performance ( #361 )
2013-06-06 16:36:17 +00:00
Ross Lawley
ad15781d8f
Fixed amibiguity and differing behaviour regarding field defaults ( #349 )
...
Now field defaults are king, unsetting or setting to None on a field
with a default means the default is reapplied.
2013-06-06 13:31:52 +00:00
Ross Lawley
ea53612822
Merge remote-tracking branch 'origin/pr/349' into 349
2013-06-06 12:06:23 +00:00
Ross Lawley
a246154961
Fixed hashing of EmbeddedDocuments ( #348 )
2013-06-05 11:31:13 +00:00
Ross Lawley
3b60adc8da
Merge pull request #344 from matchbox/complex-change-tracking
...
Remove custom change tracking for ComplexBaseFields just use BaseField's one
2013-06-04 02:54:59 -07:00
Ross Lawley
626a3369b5
Removed unused var in _get_changed_fields ( #347 )
2013-06-04 09:51:58 +00:00
Nigel McNie
4c9e90732e
Apply defaults to fields with None value at 'set' time.
...
If a field has a default, and you explicitly set it to None, the
behaviour before this patch was very confusing:
class Person(Document):
created = DateTimeField(default=datetime.datetime.utcnow)
>>> p = Person(created=None)
>>> p.created
datetime.datetime(2013, 5, 30, 0, 18, 20, 242628)
>>> p.created
datetime.datetime(2013, 5, 30, 0, 18, 20, 995248)
>>> p.created
datetime.datetime(2013, 5, 30, 0, 18, 21, 370578)
It would be stored as None, and then at 'get' time, the default would be
applied. As you can see, if the default is a generator, this leads to some
crazy behaviour.
There's an argument that if I asked it to be set to None, why not respect that?
But I don't think that's how the rest of mongoengine seems to work (for
example, setting a field to None seems to mean it doesn't even get set in mongo
- as opposed to being set but with a 'null' value). Besides, as the code shows
above, you'd expect p.created to return None. So clearly, mongoengine is
already expecting None to mean 'default' where a default is available.
This bug also interacts nastily with required=True - if you're forcibly setting
the field to None, then at validation time, the None will fail validation
despite a perfectly valid default being available.
With this patch, when the field is set, the default is immediately applied.
This means any generation happens once, the getter always returns the same
value, and 'required' validation always respects the default.
Note: this breakage seems to be new since mongoengine 0.8.
2013-05-30 16:37:40 +12:00
Paul Swartz
c0571beec8
fix change tracking for ComplexBaseFields
2013-05-28 17:19:46 -04:00
Stefan Wojcik
4670f09a67
fix __set_state__
2013-05-27 13:48:02 -07:00
Ross Lawley
9aa77bb3c9
Fixed pickle unsaved document regression ( #327 )
2013-05-21 07:07:17 +00:00
Ross Lawley
56cd73823e
Add backwards compat for pickle
2013-05-20 10:09:16 +00:00
Ross Lawley
6299015039
Updated pickling ( #316 )
2013-05-20 10:04:17 +00:00
Ross Lawley
3ccc495c75
Fixed register_delete_rule inheritance issue
2013-05-03 12:56:53 +00:00
Ross Lawley
f2c16452c6
Help with backwards compatibility
2013-05-02 10:48:30 +00:00
Ross Lawley
473d5ead7b
Geo errors fix and test update
2013-04-30 16:42:38 +00:00
Ross Lawley
9c1cd81adb
Add support for new geojson fields, indexes and queries ( #299 )
2013-04-30 14:46:23 +00:00
Ross Lawley
85b81fb12a
If values cant be compared mark as changed ( #287 )
2013-04-29 10:36:11 +00:00
Ross Lawley
5e65d27832
PEP8 x == True should be x is True
2013-04-26 11:46:12 +00:00
Ross Lawley
36993097b4
Document serialization uses field order to ensure a strict order is set ( #296 )
2013-04-26 11:38:45 +00:00
Ross Lawley
14b6c471cf
Fix PY3 hasattr connecting to the db at define time
2013-04-22 16:37:09 +00:00
Ross Lawley
efad628a87
Objects queryset manager now inherited ( #256 )
2013-04-22 15:32:11 +00:00
Ross Lawley
420376d036
Merge fixes
2013-04-17 14:27:33 +00:00
Ross Lawley
51e50bf0a9
Merge branch 'master' into 0.8M
...
Conflicts:
AUTHORS
docs/django.rst
mongoengine/base.py
mongoengine/queryset.py
tests/fields/fields.py
tests/queryset/queryset.py
tests/test_dereference.py
tests/test_document.py
2013-04-17 11:57:53 +00:00
Ross Lawley
04b85ddbf2
Merge branch 'master' into 0.8
...
Conflicts:
.travis.yml
AUTHORS
docs/changelog.rst
mongoengine/base.py
mongoengine/queryset.py
tests/queryset/queryset.py
2013-04-12 13:36:29 +00:00
Ross Lawley
d90890c08e
Merge branch 'single-work-op' of https://github.com/njoyce/mongoengine into 211
...
Conflicts:
mongoengine/document.py
tests/test_document.py
2013-01-28 15:05:12 +00:00
Ross Lawley
8eda52e8e0
Merge branch 'master' of https://github.com/malderete/mongoengine into 214
...
Conflicts:
AUTHORS
mongoengine/base.py
tests/fields/fields.py
2013-01-28 14:27:17 +00:00
Ross Lawley
9d9a4afee9
Added Doc class and pk to Validation messages ( #69 )
2013-01-28 12:05:09 +00:00
Ross Lawley
621b2b3f72
Undefined data should not override instance methods ( #49 )
2013-01-25 11:28:20 +00:00
Ross Lawley
ba48dfb4bf
Added no_dereference method for querysets ( #82 ) ( #61 )
2013-01-24 17:33:10 +00:00
Ross Lawley
3a6dc77d36
Added no_dereference context manager ( #82 )
...
Reorganised the context_managers as well
2013-01-23 19:05:44 +00:00
Ross Lawley
692f00864d
Fixed inheritance and unique index creation ( #140 )
2013-01-22 15:16:58 +00:00
Ross Lawley
f335591045
Fix index build_spec #177
2012-12-19 16:55:14 +00:00
Ross Lawley
420c3e0073
Fixing for python2.5
...
closes #188
2012-12-19 12:51:42 +00:00
Ross Lawley
9cc02d4dbe
Dynamic fields are now validated on save
...
(MongoEngine/mongoengine#153 ) (MongoEngine/mongoengine#154 )
2012-12-19 12:32:06 +00:00
Ross Lawley
3425264077
Merge branch 'master' into 0.8
...
Conflicts:
AUTHORS
docs/changelog.rst
mongoengine/__init__.py
mongoengine/base.py
mongoengine/fields.py
python-mongoengine.spec
tests/test_document.py
tests/test_fields.py
tests/test_queryset.py
2012-12-19 11:35:49 +00:00
Ross Lawley
3598fe0fb4
Adding _collection to _cls
2012-11-27 14:02:50 +00:00
Ross Lawley
f9dd051ec9
Merged get_document fix
2012-11-27 14:02:50 +00:00
Ross Lawley
363e50abbe
Updated documents with embedded documents can be created in a single operation ( MongoEngine/mongoengine#6 )
2012-11-08 14:46:56 +00:00
Ross Lawley
b8d53a6f0d
Added json serialisation support
...
- Added to_json and from_json to Document (MongoEngine/mongoengine#1 )
- Added to_json and from_json to QuerySet (MongoEngine/mongoengine#131 )
2012-11-08 12:04:14 +00:00
Ross Lawley
1986e82783
Added clean method to documents for pre validation data cleaning ( MongoEngine/mongoengine#60 )
2012-11-07 12:12:28 +00:00
Ross Lawley
7d90aa76ff
Add _instance to Embedded Documents
...
Fixes MongoEngine/mongoengine#139
2012-11-06 16:04:23 +00:00
Ross Lawley
3d5b6ae332
Inheritance is off by default ( MongoEngine/mongoengine#122 )
2012-10-22 19:29:26 +00:00