Ross Lawley
16dcf78cab
Ensure id is Hashable
2013-12-02 14:14:46 +00:00
Ross Lawley
d868cfdeb0
Fix multi level nested fields getting marked as changed ( #523 )
2013-11-29 16:24:32 +00:00
Ross Lawley
b024dd913d
EmbeddedDocument._instance is now set when settng the attribute ( #506 )
2013-11-29 13:09:11 +00:00
Ross Lawley
06caabf333
Import fix
2013-11-29 11:53:24 +00:00
Ross Lawley
954131bd51
Merge remote-tracking branch 'origin/pr/496'
2013-11-29 11:49:54 +00:00
Ross Lawley
6465726008
Fix handling invalid dict field value ( #485 )
2013-11-29 10:33:36 +00:00
Eric Plumb
857cd718df
Fix for issue #425 - allow undeclared fields in an embedded dynamic document to be seen by queryset methods
2013-11-08 14:57:35 -08:00
Loic Raucy
9ed138f896
Fixed bug with numeric valuedict keys and BaseDocument._lookup_field().
2013-10-17 16:32:47 +02:00
Ross Lawley
5bcc454678
Handle dynamic fieldnames that look like digits ( #434 )
2013-08-07 09:07:57 +00:00
Ross Lawley
0c43787996
Fixed indexing - turn off _cls ( #414 )
2013-07-30 11:43:52 +00:00
Ross Lawley
f1b1090263
Merge remote-tracking branch 'origin/pr/412' into 412
...
Conflicts:
AUTHORS
2013-07-30 10:32:07 +00:00
Ross Lawley
1e4d48d371
Don't follow references in _get_changed_fields ( #422 , #417 )
...
A better fix so we dont follow down a references rabbit hole.
2013-07-29 17:22:24 +00:00
Ross Lawley
a66d516777
Merge pull request #417 from ProgressiveCompany/delta-dbref-false-bug
...
BaseDocument._delta doesn't properly end it's path at Documents when using `dbref=False`
2013-07-29 08:41:09 -07:00
Ross Lawley
67f43b2aad
Allow args and kwargs to be passed through to_json ( #420 )
2013-07-29 15:29:48 +00:00
Paul Uithol
e27439be6a
Fix BaseDocument._delta
when working with plain ObjectIds instead of DBRefs
2013-07-25 14:52:03 +02:00
Thom Knowles
80b3df8953
dereference instance not thread-safe
2013-07-22 20:07:57 -04:00
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