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
Ross Lawley
6299015039
Updated pickling ( #316 )
2013-05-20 10:04:17 +00:00
Ross Lawley
11b7cfb5ff
Merge remote-tracking branch 'origin/pr/316' into 316
2013-05-20 09:08:12 +00:00
Wilson Júnior
bc92f78afb
fixes for value_decorator
2013-05-16 13:12:49 -03:00
Wilson Júnior
f7e22d2b8b
fixes for get_next_value
2013-05-16 13:05:07 -03:00
Wilson Júnior
10e0b1daec
Merge branch 'master' of https://github.com/MongoEngine/mongoengine
2013-05-16 12:50:47 -03:00
Wilson Júnior
731d8fc6be
added get_next_value to SequenceField
2013-05-16 12:50:34 -03:00
Stefan Wojcik
f6d0b53ae5
test reference to a custom pk doc
2013-05-13 21:42:20 -07:00
Léo S
0efb90deb6
Added a failing test when using pickle with signal hooks
2013-05-13 13:14:15 +02:00
Ross Lawley
f8350409ad
assertEquals is bad
2013-05-10 15:08:01 +00:00
Ross Lawley
5b498bd8d6
Added no_sub_classes context manager and queryset helper ( #312 )
2013-05-10 15:05:16 +00:00
Ross Lawley
941042d0ba
Merge remote-tracking branch 'origin/pr/312' into 312
2013-05-10 14:44:44 +00:00
Ross Lawley
9251ce312b
Querysets now utilises a local cache
...
Changed __len__ behavour in the queryset (#247 , #311 )
2013-05-10 13:57:32 +00:00
Wilson Júnior
96a964a183
added .disable_inheritance method for the simple fetch exclusives classes
2013-05-09 13:18:58 -03:00
Ross Lawley
9dfee83e68
Fixed querying string versions of ObjectIds issue with ReferenceField ( #307 )
2013-05-07 11:54:47 +00:00
Ross Lawley
870ff1d4d9
Added $setOnInsert support for upserts ( #308 )
...
Upserts now possible with just query parameters (#309 )
2013-05-07 11:11:55 +00:00
Ross Lawley
2c119dea47
Upserting is the only way to ensure docs are saved correctly ( #306 )
2013-05-07 10:34:13 +00:00
Ross Lawley
3ccc495c75
Fixed register_delete_rule inheritance issue
2013-05-03 12:56:53 +00:00
Ross Lawley
a2c429a4a5
Queryset cursor regeneration testcase
2013-05-02 10:48:09 +00:00
Ross Lawley
8c9afbd278
Fix cloning of sliced querysets ( #303 )
2013-05-01 19:40:49 +00:00
Ross Lawley
3d49c33c6a
Merge branch 'master' of github.com:MongoEngine/mongoengine
2013-05-01 08:48:42 +00:00
Ross Lawley
e58b3390aa
Removed import with from future
2013-05-01 08:48:14 +00:00
Alex Kelly
1c345edc49
Updated tests for passing write_concern to update and update_one to check return.
2013-04-30 21:43:44 +01: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
5d7444c115
Ensure as_pymongo() and to_json honour only() and exclude() ( #293 )
2013-04-29 09:38:21 +00:00
Ross Lawley
b0c1ec04b5
Improvements to indexing documentation ( #130 )
2013-04-29 07:38:31 +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