421 Commits

Author SHA1 Message Date
Bastien Gérard
b5485b16e6 Merge branch 'allow-periods-in-dict' of https://github.com/mcsimps2/mongoengine into mcsimps2-allow-periods-in-dict 2019-12-26 20:47:46 +01:00
Eric Timmons
329f030a41 Always store a DBRef, Document, or EmbeddedDocument in LazyReferenceField._data
This is required to handle the case of equality tests on a LazyReferenceField
with dbref=True when comparing against a field instantiated with an ObjectId.
2019-12-15 20:46:48 -05:00
Eric Timmons
dc7b96a569 Make python value for LazyReferenceFields be a DBRef
Previously, when reading a LazyReferenceField from the DB, it was stored
internally in the parent document's _data field as an ObjectId. However, this
meant that equality tests using an enclosing EmbeddedDocument would not return
True when the EmbeddedDocument being compared to contained a DBRef or Document
in _data. Enclosing Documents were largely unaffected because they look at the
primary key for equality (which EmbeddedDocuments lack).

This makes the internal Python representation of a LazyReferenceField (before
the LazyReference itself has been constructed) a DBRef, using code identical to
ReferenceField.
2019-12-15 20:20:59 -05:00
Matt Simpson
b205314424 Add ability for dict keys to have . or $ in MongoDB >= 3.6
Starting in MongoDB >= 3.6, it is valid for dictionary keys to have $ or . in them as long as they don't start with $.  Additional tests added.
2019-12-10 11:09:29 -05:00
Ali Mirlou
eecbb5ca90
Fix small typo 2019-08-20 19:53:49 +04:30
Stefan Wójcik
82f0eb1cbc
Add a max_length param to the ListField (#2107)
This is similar to the `max_length` param of a `StringField`.

Sometimes you don't want your lists to be able to grow indefinitely.
2019-06-27 15:07:02 +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
Bastien Gérard
8f57279dc7 remove pymongo deprecated methods: find_and_modify & remove 2019-06-19 23:04:23 +02:00
Bastien Gérard
15f4d4fee6 fix tests for diff mongo vers 2019-06-05 21:51:21 +02:00
Bastien Gérard
82e28dec43 improved string operation code 2019-06-04 23:17:10 +02:00
Bastien Gérard
27ea01ee05 refactored datetime to_mongo, separating parsing from str + added test 2019-06-04 23:16:26 +02:00
Bastien Gérard
00d2fd685a more test cov 2019-05-17 22:04:28 +02:00
Bastien Gérard
abfabc30c9 Fix querying on (Generic)EmbeddedDocument subclasses fields 2019-05-01 23:23:19 +02: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
b8fc4d0079 Merge branch 'master' of github.com:MongoEngine/mongoengine into freyr_binaryfield_query_value_type 2019-02-17 21:38:24 +01:00
Hamidreza
4c054bf316
Fix indentation in LazyReferenceField ref doc 2019-02-13 21:27:54 +03:30
Hendri Karisma
a32c893078 in the mid DictField key can accept dollar sign 2018-12-19 20:24:28 +01:00
Bastien Gérard
23324f0f87 minor fix in ImageField docstring 2018-11-04 22:14:27 +01:00
Bastien Gérard
8e18484898 Add a comment on a suspicious line (#1322) 2018-11-01 22:28:12 +01:00
Bastien Gérard
8e1c4dec87
Merge pull request #1846 from bagerard/fix_validator_of_binary_field
fix validator of BinaryField
2018-10-26 22:14:08 +02:00
Bastien Gérard
59a06a242d Fix a bug when using a ReferenceField(AbstractClass) #1920 2018-10-15 22:32:11 +02:00
Arto Jantunen
3c5c3b5026 Fix invalid isinstance check in ListField.validate
Using QuerySet directly would fail if QuerySetNoCache was used. Sadly the
test suite does not have a case where QuerySet would appear here, so adding
a test for this special case is not trivial.
2018-10-10 10:43:29 +03:00
Bastien Gérard
adfb039ba6 Improve overall code quality (based on pylint findings) 2018-10-07 23:05:18 +02:00
Bastien Gérard
45c2151d0f Fix side effect of no_dereference on GenericReferenceField 2018-09-25 22:56:57 +02:00
erdenezul
708d1c7a32
Merge pull request #1892 from bagerard/no_dereference_queryset_fix_side_effect
fix side effect from queryset.no_dereference
2018-09-18 14:40:14 +08:00
Bastien Gérard
f83ae5789b fix side effect from queryset's no_dereference #1677 2018-09-16 23:11:45 +02:00
Bastien Gérard
57ccfcfc1b Merge branch 'master' of https://github.com/MongoEngine/mongoengine into swat_url_fix 2018-09-16 23:03:16 +02:00
Bastien Gérard
4314fa883f improve 2-3 codebase compatibility 2018-09-09 23:32:10 +02:00
erdenezul
48fbe890f8
Merge pull request #1876 from bagerard/get_rid_of_DictField_basecls
Remove DictField.basecls related code, it is useless
2018-09-05 09:38:52 +08:00
Bastien Gérard
282b83ac08 Fix default value of ComplexDateTime + fixed descriptor .__get__ for class attribute 2018-09-04 23:48:07 +02:00
Bastien Gérard
a25d127f36 Remove DictField.basecls related code, it is useless 2018-09-04 20:51:06 +02:00
erdenezul
f74dd1cb3c
Merge pull request #1591 from axu2/axu2-docs-patch-3
docs: use explicit register_delete_rule example
2018-09-04 21:50:29 +08:00
Bastien Gérard
ab08e67eaf fix inc/dec operator with decimal 2018-09-04 14:53:55 +02:00
erdenezul
3574e21e4f
Merge pull request #1859 from bagerard/fix_EmbeddedDocumentField_init_with_Document
Ensures EmbeddedDocumentField does not accepts references to Document
2018-09-03 17:22:08 +08:00
Bastien Gérard
5e4e8d4eda Merge branch 'master' of github.com:KCarretto/mongoengine 2018-09-01 12:04:23 +02:00
erdenezul
b90063b170
Merge pull request #1861 from bagerard/minor_improvement_to_DateTimeField_default
minor improvement to DateTimeField doc
2018-08-31 11:32:40 +08:00
Bastien Gérard
d9fce49b08 minor improvement to DateTimeField doc 2018-08-30 22:46:37 +02:00
Bastien Gérard
5dbee2a270 Ensures EmbeddedDocumentField does not accepts references to Document classes in its constructor 2018-08-30 22:06:36 +02:00
erdenezul
bf2de81873
Merge pull request #1807 from bagerard/lazy_regex_compilation
Implemented lazy regex compiling for issue #1806
2018-08-30 21:33:10 +08:00
Bastien Gérard
461b789515 relates to (#710)
- Update gridfs.rst to make it clearer that you should save the Document hosting the GridFSProxy after calling .delete() or .replace() on the GridFSProxy
- updated GridFSProxy.__str__ so that it would always print both the filename and the grid_id. This should improve debugging
2018-08-19 23:45:08 +02:00
Bastien Gérard
b71ff6fbb8 fix validator of BinaryField. In fact bson.Binary fails if we give it unicode in input #273 2018-08-18 23:04:46 +02:00
Bastien Gérard
3d45cdc339 Implemented lazy regex compiling in Field classes to improve 'import mongoengine' performance 2018-08-03 23:36:26 +02:00
Gram
19a6e324c4 +tests for date field 2018-07-20 17:37:23 +03:00
Gram
62eadbc174 +date field 2018-07-20 17:21:57 +03:00
Benjamin Chrobot
49bff5d544
Add documentation for LazyReference and GenericLazyReference fields. 2018-04-12 10:47:52 -04:00
Stefan Wojcik
dabe8c1bb7 highlight places where ValidationError is raised outside of validate() method 2018-03-14 14:26:46 -04:00
KCarretto
2d76aebb8e
Fixed formatting issue 2018-02-21 05:02:35 -05:00
swathi
8b5df3ca17 fix - allow url with underscore in domain 2018-02-08 12:31:40 -08:00
Erdenezul
101947da8b update fields argument when given #1172 2017-12-23 00:00:57 +08:00
Erdenezul Batmunkh
b35efb9f72 fix validatione error for invalid embedded document instance #1067 2017-12-01 08:37:53 +08:00