Bastien Gérard
60c42dddd5
finalize code related to count_documents migration
2020-01-05 22:29:13 +01:00
Tim Gates
f8f267a880
Fix simple typo: thorougly -> thoroughly
...
Closes #2236
2020-01-05 20:48:16 +11:00
Bastien Gérard
4edad4601c
Bump version to 0.19.1 + force pillow to be < 7.0.0
2020-01-03 14:03:17 +01:00
Bastien Gérard
152b51fd33
improve gridfs example (properly opening file)
2019-12-29 14:36:50 +01:00
Bastien Gérard
e7c7a66cd1
improve doc of GridFS, emphasize that subsequent call to read() requires to rewind the file with seek(0)
2019-12-27 10:38:03 +01:00
Bastien Gérard
99e660c66d
update changelog
2019-12-27 09:32:05 +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
8e892dccfe
document recent merged PR in changelog
2019-12-20 23:51:01 +01:00
Bastien Gérard
c22eb34017
Merge branch 'master' of github.com:MongoEngine/mongoengine into release_0_19_0
2019-12-20 23:49:41 +01:00
Bastien Gérard
1170de1e8e
added explicit doc for order_by #2117
2019-12-20 23:20:15 +01:00
Bastien Gérard
332bd767d4
minor fixes in tests
2019-12-20 23:20:15 +01:00
erdenezul and GitHub
0053b30237
Merge pull request #2217 from bagerard/improve_inheritance_doc
...
provide additional details on how inheritance works in doc
2019-12-20 22:43:45 +01:00
Bastien Gérard
d44533d956
completed the changelog with missing details
2019-12-20 22:41:22 +01:00
Bastien Gérard
ae326678ec
updated changelog for upcoming 0.19.0
2019-12-20 22:09:04 +01:00
Eric Timmons
cfd4d6a161
Add breaking change to changelog for LazyReferenceField representation in _data
2019-12-15 20:46:48 -05:00
Bastien Gérard
280a73af3b
minor fix in doc of NULLIFY to improve #834
2019-12-14 21:44:59 +01:00
Bastien Gérard
d8c0631dab
added entry in changelog for py2py3 compatibility
2019-12-14 21:23:28 +01:00
Bastien Gérard
3b099f936a
provide additional details on how inheritance works in doc
2019-12-13 21:32:45 +01:00
Filip Kucharczyk
e83132f32c
Note deprecation of 'empty' in changelog
2019-12-10 11:54:52 +01:00
Filip Kucharczyk
d3d7f0e670
Changelog
2019-12-05 01:18:29 +01:00
Filip Kucharczyk
37ffeafeff
Replace 'pip' with 'python -m pip install' in docs
2019-12-05 01:13:05 +01:00
Filip Kucharczyk
abc159b7b9
Update Contributing, changelog
2019-12-05 01:10:54 +01:00
Filip Kucharczyk
17151f67c2
Reformat repo with pre-commit hooks
2019-12-05 00:53:39 +01:00
Filip Kucharczyk
bd6c52e025
Changelog
2019-12-05 00:30:03 +01:00
Bastien Gérard
78b240b740
updated changelog + improved query_counter test
2019-12-04 21:51:07 +01:00
Filip Kucharczyk
f7f0e10d4d
Update changelog
2019-12-03 00:54:53 +01:00
Bastien Gérard and GitHub
138e759161
Merge pull request #2187 from bagerard/improve_error_message_InvalidDocumentError
...
Improve error message from InvalidDocumentError
2019-11-08 21:27:17 +01:00
Bastien Gérard
37ca79e9c5
fix black formatting
2019-10-31 22:39:53 +01:00
Bastien Gérard
6040b4b494
update changelog
2019-10-31 21:33:19 +01:00
Bastien Gérard
8bf5370b6c
Improve error message from InvalidDocumentError whenever an embedded document has a bad shape (e.g due to migration)
2019-10-28 22:05:13 +01:00
Bastien Gérard
c60ed32f3a
Documented how pymongo.monitoring can be used with MongoEngine
2019-10-16 21:25:17 +02:00
Bastien Gérard
19f12f3f2f
document pymongo in RTD and make it point to github
2019-10-04 21:51:12 +02:00
Bastien Gérard
71e8d9a490
Added a FAQ to doc and Document the fact that we dont support motor
2019-10-04 21:51:12 +02:00
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
Erdenezul Batmunkh
1dbe7a3163
Add log in changelog
2019-09-03 16:17:09 +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 Wójcik and GitHub
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
Stefan Wójcik and GitHub
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ójcik and GitHub
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 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ójcik and GitHub
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
d37a30e083
improve doc (based on review)
2019-06-30 20:46:40 +02:00
Stefan Wójcik and GitHub
9170eea784
Rename MongoEngineConnectionError to ConnectionFailure ( #2111 )
...
I originally changed the exception name from `ConnectionError` to
`MongoEngineConnectionError` in
https://github.com/MongoEngine/mongoengine/pull/1428/commits/b02904ee750a30f8e2246a326376b40358543101 ,
inspired by landscape.io's package health report, which argued that
`ConnectionError` is already a built-in exception in Python 3 (which it is:
https://docs.python.org/3/library/exceptions.html#ConnectionError ).
I do agree that we shouldn't override built-in exceptions. [0] That said, it’s
silly to add a "MongoEngine" prefix to any class within the `mongoengine`
module (and *especially* to *just one* exception class out of many). I've
decided to do what PyMongo does (
https://github.com/mongodb/mongo-python-driver/blob/8855a510a80a30268ffd4b90be65fb26929648e2/pymongo/errors.py#L59 )
and call this exception `ConnectionFailure`.
Note that this is a breaking change and people will need to rename
`MongoEngineConnectionError`s in their code to `ConnectionFailure`. Moreover,
if they use PyMongo's `ConnectionFailure` for anything, they'll need to take
extra care to avoid conflicts, e.g. by using:
```
from mongoengine import ConnectionFailure as MongoEngineConnectionFailure
```
[0] Note that some popular packages still overwrite `ConnectionError`, e.g.
https://github.com/kennethreitz/requests/blob/4983a9bde39c6320aa4f3e34e50dac6e263dab6f/requests/exceptions.py#L32
or
https://github.com/andymccurdy/redis-py/blob/0be4d2920684345eb52115c7142c39d65356e7d4/redis/exceptions.py#L8
2019-06-30 09:23:32 +02:00