Filip Kucharczyk
0458ef869e
Add __eq__ to Q and Q operations
2019-12-03 00:44:13 +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
erdenezul
597b962ad5
Merge pull request #2055 from bagerard/improve_test_cov
...
Improve test cov
2019-05-18 12:40:20 +02:00
Bastien Gérard
00d2fd685a
more test cov
2019-05-17 22:04:28 +02:00
Agustin Barto
b392e3102e
Add support to transform. Add pull tests for and .
2019-05-17 13:41:02 -03: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
Eddie Linder
363aefe399
Get rid of _get_as_pymongo wrapper altogether as we return raw output
2018-12-20 01:09:28 +02:00
Eddie Linder
7fd4f792ba
Don't hide _cls field when using as_pymongo
2018-12-20 01:02:42 +02:00
Eddie Linder
b04dc90cdf
Bring back _cls and _id fields just as they return in pymongo
2018-12-20 00:39:32 +02:00
Tom Floyer
3194a37fcb
Reset cursor object after .count()
...
This change fixes incorrect result of .only() method of QuerySet
instance after using .count().
2018-12-08 22:16:57 +03:00
Trevor Hall
352b23331b
Fix bug #1965 of $position and $push operators do not work with list in an EmbeddedDocument. Set key value to joined parts excluding the index at the end. Added test case
2018-12-05 20:18:48 -06:00
Bastien Gérard
983474b2bd
Ignore 2 more flake8 warnings (introduced in latest flake8 3.6.0 release)
2018-10-30 23:40:46 +01:00
erdenezul
f44a2f4857
Merge pull request #1843 from terencehonles/add-__repr__-to-Q-and-QCombination
...
add __repr__ to Q and QCombination
2018-10-25 10:14:05 +08:00
Bastien Gérard
4939a7dd7c
update input document ids during bulk insert #1919
2018-10-16 22:21:53 +02:00
erdenezul
9b022b187f
Merge pull request #1905 from bagerard/rework_in_test
...
minor rework in test
2018-10-10 16:29:53 +08:00
Bastien Gérard
adfb039ba6
Improve overall code quality (based on pylint findings)
2018-10-07 23:05:18 +02:00
Bastien Gérard
9b6c972e0f
renamed decorator needs_mongodb_x in test + fixes ref to mongo 2.4 from travis files
2018-10-02 22:03:55 +02:00
Bastien Gérard
4314fa883f
improve 2-3 codebase compatibility
2018-09-09 23:32:10 +02:00
Erdenezul Batmunkh
aa49283fa9
fix trailing whitespace
2018-09-07 15:39:55 +08:00
erdenezul
e79ea7a2cf
Merge branch 'master' into limit_behaviour
2018-09-07 15:34:23 +08:00
Bastien Gérard
cf9df548ca
reverted back to the StopIteration in queryset.next that one didnt have to be changed (test stalled)
2018-09-04 19:18:40 +02:00