Bastien Gérard
0a0e6114f5
Merge branch 'master' into drop_py2_support
2020-04-19 23:13:36 +02:00
Bastien Gérard
2b0157aecd
Improve Queryset.get to avoid confusing message in case multiple match are found
2020-03-22 14:08:29 +01:00
Bastien Gérard
547cd4a3ae
Merge branch 'master' of github.com:MongoEngine/mongoengine into remove_old_deprecated_method
2020-03-17 21:39:36 +01:00
Bastien Gérard
aadc6262ed
remove qs.slave_okay() that is deprecated since pymongo3
2020-03-17 21:10:52 +01:00
Bastien Gérard
85df76c623
Merge branch 'master' of github.com:MongoEngine/mongoengine into drop_py2_support
2020-03-17 09:24:32 +01:00
Bastien Gérard
c0c0efce18
improve docstring related to #2267 and document the change in the changelog
2020-03-15 22:14:26 +01:00
Bastien Gérard
beabaee345
Merge branch 'master' of github.com:MongoEngine/mongoengine into support-elemmatch-projection
2020-03-15 22:08:20 +01:00
Bastien Gérard
aa4a6ae023
Fix invalid escape seq in codebase
2020-03-15 21:02:44 +01:00
Bastien Gérard
1e110a2c41
run pyupgrade --py3-plus
2020-03-11 23:34:43 +01:00
Bastien Gérard
8086576677
get rid of six
2020-03-11 23:07:03 +01:00
Bastien Gérard
03e34299f0
clean code related to Py2 + six.text_type & six.string_types
2020-03-11 21:50:50 +01:00
Bastien Gérard
421e3f324f
Drop python2 support
2020-03-09 00:18:52 +01:00
Bastien Gérard
a0b803959c
Merge branch 'master' of github.com:MongoEngine/mongoengine into py2py3_improve_compat
2020-03-08 14:44:39 +01:00
Agustin Barto
4bca3de42f
Add support for the elemMatch projection operator. Add basic tests to the fields queryset method.
2020-02-14 16:43:07 -03:00
Bastien Gérard
86e965f854
remove very old deprecated method
2020-01-13 23:45:42 +01:00
Bastien Gérard
b3dbb87c3c
improve doc of aggregate kwargs
2019-12-27 10:06:27 +01:00
Bastien Gérard
aa02f87b69
change & deprecate .aggregate api to mimic pymongo's interface + separate the aggregation tests from the large test_queryset.py file
2019-12-27 09:23:15 +01:00
Bastien Gérard
2ca905b6e5
Finalize python2/3 codebase compatibility and get rid of 2to3
2019-12-13 23:43:04 +01:00
Bastien Gérard
37ca79e9c5
fix black formatting
2019-10-31 22:39:53 +01:00
Bastien Gérard
e3cd553f82
add latest pymongo 3.9 as part of the CI
2019-10-04 21:46:47 +02:00
Bastien Gérard
933cb1d5c7
Merge pull request #2144 from 0a69911a/master
...
Implement collation for queryset
2019-09-11 23:27:25 +02:00
Bastien Gérard
6203e30152
Merge pull request #2160 from vainu-arto/fix-trust-default-cursor-timeout
...
Only set no_cursor_timeout when requested
2019-09-11 22:09:56 +02:00
Bastien Gérard
7d94af0e31
add test coverage for no_cursor_timeout to support recent fix
2019-09-11 21:53:30 +02:00
Arto Jantunen
47f8a126ca
Only set no_cursor_timeout when requested
...
Previously this was always set for all requests. The parameter is only
documented as supported for certain queries, so this was probably wrong.
Mongo version 4.2 fails update queries that have this parameter set making
mongoengine unusable there. Fixes #2148 .
2019-09-03 14:36:06 +03:00
Erdenezul Batmunkh
a06e605e67
Add BulkWriteError exception
2019-08-29 11:11:27 +02:00
Erdenezul Batmunkh
e86cf962e9
Change misleading error message
2019-08-21 13:08:30 +02:00
otrofimov
b887ea9623
Implement collation for queryset
2019-08-08 11:55:45 +03:00
Stefan Wójcik
50555ec73e
Better management of the automatic "_cls" field ( #2112 )
...
* Rename BaseQuerySet._initial_query to BaseQuerySet._cls_query
This new name more accurately reflects the purpose of the dict. It is either
empty for documents that don't use inheritance or it contains a `{"_cls": ...}`
shape query. There was nothing "initial" about it per se.
* Drop read_preference as a kwarg on BaseQuerySet.__call__/filter
It was a poor design choice to offer two different ways to do the same thing:
1. `SomeDoc.objects(foo=bar, bar=baz).read_preference(...)`
2. `SomeDoc.objects(foo=bar, bar=baz, read_preference=...)`
Option 1 is good because it's immediately obvious which part defines the query
to be used and which part defines the read preference.
Option 2 is bad because you don't immediately know whether `read_preference`
is a query kwarg or a reserved keyword with some special behavior. If you
wanted to be particularly cruel, you could even write
`SomeDoc.objects(foo=bar, read_preference=..., bar=baz)`.
THIS IS A BREAKING CHANGE. From now on you have to use the
`BaseQuerySet.read_preference(...)` method.
* Add a BaseQuerySet.clear_cls_query method + get rid of the class_check kwarg
This is similar to what the previous commit did to read preference except that
in this case we were still missing a `BaseQuerySet` method for clearing the
`_cls` query.
Now, instead of the undocumented, untested, and confusing interface:
`ParentDoc.objects(foo=bar, bar=baz, class_check=False)`
We do:
`ParentDoc.objects(foo=bar, bar=baz).clear_cls_query()`
2019-07-03 11:07:55 +02:00
Stefan Wójcik
d0b87f7f82
Drop the deprecated "format" param from BaseQuerySet.explain ( #2113 )
...
That option was pretty useless. You can very easily do:
```
import pprint
(...)
plan = SomeDoc.objects(...).explain()
pprint.pformat(plan)
```
2019-07-01 10:18:47 +02:00
Stefan Wójcik
b47669403b
Format the codebase using Black ( #2109 )
...
This commit:
1. Formats all of our existing code using `black`.
2. Adds a note about using `black` to `CONTRIBUTING.rst`.
3. Runs `black --check` as part of CI (failing builds that aren't properly formatted).
2019-06-27 13:05:54 +02:00
Stefan Wojcik
91899acfe5
Clarify unack'd write concern not returning the deleted count [ci skip]
2019-06-26 15:14:43 +02:00
Bastien Gérard
b1002dd4f9
Merge pull request #2097 from bagerard/remove_deprecated_pymongo_methods
...
remove pymongo deprecated methods: find_and_modify & remove
2019-06-24 22:03:58 +02:00
Stefan Wojcik
799775b3a7
Slightly cleaner docstring of BaseQuerySet.no_sub_classes [ci skip]
2019-06-20 12:18:58 +02:00
Bastien Gérard
8f57279dc7
remove pymongo deprecated methods: find_and_modify & remove
2019-06-19 23:04:23 +02:00
Stefan Wojcik
a4e4e8f440
Tweaks to the QuerySet.order_by docstring
2019-06-17 17:28:41 +02:00
Stefan Wojcik
996618a495
Fix wording of an exception message in QuerySet.insert
2019-06-12 08:29:59 +02:00
Bastien Gérard
6a843cc8b2
Merge branch 'master' of github.com:MongoEngine/mongoengine into remove_pymongo2_support_dead_code
2019-05-23 21:06:15 +02:00
Bastien Gérard
00d2fd685a
more test cov
2019-05-17 22:04:28 +02:00
Bastien Gérard
cf38ef70cb
Remove more code related to supporting pymongo2
2019-05-15 22:23:35 +02:00
Bastien Gérard
ac64ade10f
remove dead code (related to pymongo2) + minor cleaning
2019-05-15 21:54:47 +02:00
Neeraj Suthar
61081651e4
reinsert fix; add comments, reference
2019-04-06 17:42:14 +05:30
Neeraj Suthar
4ccfdf051d
remove fix; add testcases
2019-04-06 17:23:02 +05:30
Neeraj
9f2a9d9cda
Fix limit usage in aggregate
...
As per https://stackoverflow.com/a/24161461
2019-04-03 19:09:45 +05:30
Bastien Gérard
b640c766db
Fix queryset batch_size that wasn't copied to cloned queryset
2019-03-04 23:01:12 +01:00
Bastien Gérard
35b7efe3f4
refactored deprecated pymongo methods in tests
...
- remove/count/add_user/insert
- added pymongo_support
2019-03-02 00:28:38 +01:00
Bastien Gérard
c8df3fd2a7
fix conflict
2019-02-21 21:27:08 +01:00
Bastien Gérard
6d353dae1e
refactored iteritems/itervalues to improve 2/3 compat #2003
2019-02-18 22:13:05 +01:00
Bastien Gérard
cab659dce6
Fix documentation of Queryset.update regarding full_result #1995
2019-02-16 21:54:05 +01:00
erdenezul
dc7922c38b
Merge pull request #1976 from 3ddi/eddie/revert_hidden_fields
...
Bring back _cls and _id fields just as they return in pymongo
2019-02-13 14:25:12 +08:00
Bastien Gérard
69a99c70c6
minor update to .all() doc to make it clear that it does not return a list but a queryset
2018-12-24 23:51:30 +01:00