Ross Lawley
f34e8a0ff6
Fixed as_pymongo to return the id ( #386 )
2013-07-10 13:38:53 +00:00
Ross Lawley
4209d61b13
Document.select_related() now respects db_alias
( #377 )
2013-07-10 12:49:19 +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
a1d142d3a4
Prep for django and py3 support
2013-07-10 08:38:13 +00:00
Wilson Júnior
592c654916
extending support for queryset.sum and queryset.average methods
2013-07-05 10:36:11 -03:00
Ross Lawley
8d21e5f3c1
Fix tests for py2.6
2013-07-02 09:47:54 +00:00
Ross Lawley
fbe5df84c0
Remove users post uri test
2013-06-25 09:30:28 +00:00
kelvinhammond
caff44c663
Fixed sum and average queryset function
...
* Fixed sum and average map reduce functions for sum and average so that
it works with mongo dot notation.
* Added unittest cases / updated them for the new changes
2013-06-21 09:39:11 -04:00
Ross Lawley
d6edef98c6
Added match ($elemMatch) support for EmbeddedDocuments ( #379 )
2013-06-21 11:29:23 +00:00
Ross Lawley
9867e918fa
Fixed weakref being valid after reload ( #374 )
2013-06-21 11:04:29 +00:00
Ross Lawley
e116bb9227
Fixed queryset.get() respecting no_dereference ( #373 )
2013-06-21 10:39:10 +00:00
Ross Lawley
f1a1aa54d8
Added full_result kwarg to update ( #380 )
2013-06-21 10:19:40 +00:00
Ross Lawley
000eff73cc
Make test_indexes_and_multiple_inheritance place nice with py3.3 ( #364 )
2013-06-07 08:33:34 +00:00
Ross Lawley
254efdde79
Merge remote-tracking branch 'origin/pr/364' into 364
2013-06-07 08:25:42 +00:00
Stefan Wojcik
ba7101ff92
list_indexes support for multiple inheritance
2013-06-06 22:22:43 -07:00
Stefan Wojcik
c2928d8a57
list_indexes and compare_indexes class methods + unit tests
2013-06-06 17:16:03 -07: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
9f3394dc6d
Added testcase for ListFields with just pks ( #361 )
2013-06-06 17:19:19 +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
c3a065dd33
Removing old test re: #348
2013-06-05 13:44:21 +00:00
Ross Lawley
e5648a4af9
ImageFields now include PIL error messages if invalid error ( #353 )
2013-06-05 11:45:08 +00:00
Ross Lawley
a246154961
Fixed hashing of EmbeddedDocuments ( #348 )
2013-06-05 11:31:13 +00:00
Ross Lawley
1a54dad643
Filter out index scan for pymongo cache
2013-06-05 10:42:41 +00:00
Stefan Wojcik
eba81e368b
dont use $in for _cls queries with a single subclass
2013-06-04 15:32:23 -07:00
Ross Lawley
74a3fd7596
Added queryset delete tests for signals
2013-06-04 16:59:25 +00:00
Ross Lawley
eeb5a83e98
Added lock when calling doc.Delete() for when signals have no sender ( #350 )
2013-06-04 16:35:25 +00:00
Ross Lawley
ee725354db
Querysets are now lest restrictive when querying duplicate fields ( #332 , #333 )
2013-06-04 10:46:38 +00:00
Ross Lawley
985bfd22de
Merge remote-tracking branch 'origin/pr/333' into 333
2013-06-04 10:22:54 +00:00
Ross Lawley
d94a191656
Updated Changelog added test for #341
2013-06-04 10:20:24 +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
4244e7569b
Added pre_save_post_validation signal ( #345 )
2013-06-04 09:35:44 +00:00
Ross Lawley
dcd23a0b4d
Merge pull request #345 from amcgregor/master
...
Addition of pre_save_validation and move of pre_save to after validation.
2013-06-04 02:13:25 -07:00
Ross Lawley
5447c6e947
DateTimeField now auto converts valid datetime isostrings into dates ( #343 )
2013-06-04 09:08:13 +00:00
Ross Lawley
f1b97fbc8b
Merge pull request #343 from matchbox/dateutil
...
if `dateutil` is available, use it to parse datetimes
2013-06-04 01:22:31 -07:00
Ross Lawley
4c8dfc3fc2
Fixed Doc.objects(read_preference=X) not setting read preference ( #352 )
2013-06-03 15:40:54 +00:00
Ross Lawley
ceece5a7e2
Improved PIL detection for tests
2013-06-03 13:38:58 +00:00
Ross Lawley
b2f78fadd9
Added test for upsert & update_one #336
2013-06-03 13:05:52 +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
Alice Bevan-McGregor
12f6a3f5a3
Added tests for pre_save_validation and updated tests for pre_save to encompass created flag.
2013-05-29 12:22:15 -04:00
Paul Swartz
c0571beec8
fix change tracking for ComplexBaseFields
2013-05-28 17:19:46 -04:00
Paul Swartz
1302316eb0
add some tests
2013-05-28 16:08:33 -04:00
Stefan Wojcik
774895ec8c
dont simplify queries with duplicate conditions
2013-05-23 17:49:28 -07:00
Ross Lawley
c5ce96c391
Fix py3 test
2013-05-23 19:44:05 +00:00
Ross Lawley
1eb6436682
Added get image by grid_id example
2013-05-22 10:29:45 +00:00
Ross Lawley
a84e1f17bb
Fixing django tests for py 2.6
2013-05-21 09:42:22 +00:00
Stefan Wojcik
d060da094f
update pickling test case to show the error
2013-05-20 17:40:56 -07:00
Ross Lawley
1ddf8b3159
Merge remote-tracking branch 'origin/pr/317'
2013-05-20 10:20:04 +00:00