Commit Graph
3502 Commits
Author SHA1 Message Date
Bastien Gérard be2c4f2b3c fix formatting and improve doc based on review 2019-09-16 21:15:35 +02:00
Bastien Gérard 7ac74b1c1f Document Model.objects.aggregate entrypoint with an example 2019-09-15 23:27:34 +02:00
Bastien GérardandGitHub 933cb1d5c7 Merge pull request #2144 from 0a69911a/master
Implement collation for queryset
2019-09-11 23:27:25 +02:00
Bastien GérardandGitHub 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
erdenezulandGitHub 564a2b5f1e Merge pull request #2153 from erdenezul/misleading_bulkwrite_error
Change misleading error message
2019-09-04 09:42:10 +02:00
Erdenezul Batmunkh 1dbe7a3163 Add log in changelog 2019-09-03 16:17:09 +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
Bastien Gérard 693195f70b fix test_pickable that was brought back to life recently 2019-08-31 22:28:31 +03:00
Bastien Gérard 2267b7e7d7 rename remaining files for pytest migration 2019-08-30 16:27:56 +03:00
Erdenezul Batmunkh a06e605e67 Add BulkWriteError exception 2019-08-29 11:11:27 +02:00
otrofimov 47c67ecc99 Merge branch 'master' of https://github.com/MongoEngine/mongoengine 2019-08-29 11:48:07 +03:00
Bastien GérardandGitHub 4c4b7cbeae Merge pull request #2156 from bagerard/rename_test_files_for_pytest_migration
rename all test files so that they are prefixed by test
2019-08-28 16:17:38 +03:00
Bastien Gérard ddececbfea rename all test files so that they are prefixed by test_{orginal_filename}.py 2019-08-28 16:01:44 +03:00
otrofimov 71a6f3d1a4 test_collation:
Added test with `pymongo.collation.Collation` object
Readable list of BlogPost names for test
2019-08-21 18:26:10 +03:00
Erdenezul Batmunkh e86cf962e9 Change misleading error message 2019-08-21 13:08:30 +02:00
erdenezulandGitHub 99a58d5c91 Merge pull request #2149 from AliMirlou/patch-1
Fix small typo
2019-08-21 11:04:20 +02:00
Ali MirlouandGitHub eecbb5ca90 Fix small typo 2019-08-20 19:53:49 +04:30
otrofimov fbb3bf869c compatibility with black 2019-08-08 15:56:20 +03:00
otrofimov b887ea9623 Implement collation for queryset 2019-08-08 11:55:45 +03:00
Bastien GérardandGitHub 0d01365751 Merge pull request #2131 from NMFR/master
Set default database when using mongomock.
2019-07-22 11:56:56 +02:00
Nuno Rodrigues f4a06ad65d Optimize database name getter calls 2019-07-22 08:45:35 +00:00
Nuno Rodrigues 05a22d5a54 Extract test to its own method 2019-07-22 08:42:17 +00:00
Nuno Rodrigues 2424ece0c5 Fix a linting error 2019-07-16 13:40:46 +00:00
Nuno Rodrigues 2d02551d0a Add test 2019-07-15 17:54:46 +01:00
Stefan WójcikandGitHub ac416aeeb3 Improve BaseDocument.from_json tests and documentation (#2127) 2019-07-15 12:15:55 +02:00
Stefan Wojcik d09af430e8 Fix formatting of the changelog – part 2
RTD didn't render it properly previously.

Refs #2105
2019-07-15 09:57:48 +02:00
Stefan Wojcik 79454b5eed Fix formatting of the changelog
RTD didn't render it properly previously.

Refs #2105
2019-07-15 09:54:18 +02:00
Stefan Wojcik 921c1fa412 Dummy commit to confirm that the new RTD webhook works 2019-07-15 09:50:29 +02:00
Stefan Wojcik 1aba145bc6 Split requirements into requirements.txt and requirements-lint.txt
I'm doing this because it makes sense to separate which requirements are
needed to develop the package and which are purely needed for static code
analysis. That said, the trigger for this commit was that ReadTheDocs
automatically tries to install everything that's in requirements.txt and,
since `black` isn't available on Python 2.7, it was failing. See
https://readthedocs.org/projects/mongoengine-odm/builds/9371765/.

Refs #2105
2019-07-15 09:32:26 +02:00
Nuno Rodrigues 290d9df3eb Set default database when using mongomock.
When passing host `mongomock://localhost/some-default-database` to `connect` the default database was `"test"` instead of `"some-default-database"`.

Fixes: #2130
2019-07-12 13:33:19 +01:00
Stefan WójcikandGitHub aa76ccdd25 Fix Document._object_key (#2125)
Previous implementation of `Document._object_key` was *pretending* to work on
MongoEngine-level fields (e.g. using "pk" instead of "_id" and separating
nested field parts by "__" instead of "."), but then it was also attempting to
transform field names from the `shard_key` into DB-level fields.

This, expectedly, didn't really work well. Most of the test cases added in this
commit were failing prior to the code fixes.
2019-07-09 12:08:26 +02:00
Andreas DollandStefan Wójcik abe8070c36 Document register_connection arguments in correct order (#2121)
Put the documentation of the parameter 'name' of the function
'register_connection' in order of appearance in the function signature.
2019-07-08 14:16:09 +02:00
Bastien GérardandGitHub 2d28c258fd Merge pull request #2115 from bagerard/use_globals_in_travis_yml
Use global constants for mongo/pymongo in travis.yml
2019-07-03 11:47:35 +02:00
Stefan WójcikandGitHub 1338839b52 Update changelog.rst 2019-07-03 11:18:56 +02:00
Stefan Wojcik 058203a0ec More changelog tweaks [ci skip]
The main change is that we're now using double backticks (``), which are the
correct way to format code in an RST file.
2019-07-03 11:12:25 +02:00
Stefan Wojcik 8fdf664968 Changelog tweaks [ci skip] 2019-07-03 11:08:51 +02:00
Stefan WójcikandGitHub 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
Bastien Gérard 951a532a9f additional fix in travis/tox 2019-07-03 09:15:28 +02:00
Bastien Gérard e940044603 fixes in .travis.yml and tox.ini based on PR review 2019-07-02 23:06:31 +02:00
Bastien Gérard babfbb0fcd Merge branch 'master' of github.com:MongoEngine/mongoengine into use_globals_in_travis_yml 2019-07-02 22:57:03 +02:00
Stefan Wojcik bbed312bdd Final changelog tweaks [ci skip] 2019-07-02 18:42:50 +02:00
Stefan Wojcik b593764ded One more changelog tweak [ci skip] 2019-07-02 18:35:29 +02:00
Stefan Wojcik 483c840fc8 One more changelog tweak [ci skip] 2019-07-02 18:29:28 +02:00
Stefan Wojcik de80f0ccff Clean up the changelog [ci skip]
Mostly making sure that code is formatted using backticks and that wording and
punctuation are consistent.
2019-07-02 18:28:04 +02:00
Stefan WójcikandGitHub 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
Bastien Gérard bf32d3c39a Merge branch 'master' of github.com:MongoEngine/mongoengine into use_globals_in_travis_yml 2019-06-30 21:11:42 +02:00
Bastien GérardandGitHub bc14f2cdaa Merge pull request #2083 from bagerard/improve_travis_yml2
add pypy3 back to travis and improve python 3.7 integration
2019-06-30 21:11:00 +02:00
Bastien Gérard 06a21e038a Use global constants for mongo/pymongo in travis.yml 2019-06-30 21:04:23 +02:00
Bastien Gérard 4d5eba317e convert travis test on latest python/mongo/pymongo from python 3.6 to 3.7 2019-06-30 20:55:19 +02:00