Matthieu Rigal
3093175f54
SequenceField for abstract classes now have a proper name
2015-06-12 11:03:52 +02:00
David Bordeynik
94eac1e79d
Merge pull request #946 from MRigal/fix/pymongo3-connection
...
fixes #946
2015-05-11 15:51:51 +03:00
Eli Boyarski
73f0867061
Unit Test - Unique Multikey Index
...
Adds a unit test to exhibit the behavior of MongoDB when using a unique
multikey index. MongoDB treats any missing unique multikey index value
as NULL, thus throwing a Duplicate Key Error when saving multiple
missing values.
See #930 for more information.
- Closes #930
- Closes #952
2015-05-07 11:16:47 -04:00
mrigal
571a7dc42d
Fix last issue with binary field as primary key and skipped new test
2015-05-07 12:47:30 +02:00
mrigal
76adb13a64
Minor text and comments enhancements
2015-05-07 12:47:30 +02:00
mrigal
c44891a1a8
changed unittest to call for compatibility with Python 2.6
2015-05-07 12:47:30 +02:00
mrigal
a5c2fc4f9d
reinforced test for BinaryField being a Primary Key
2015-05-07 12:47:30 +02:00
rma4ok
0949df014b
[fix] SortedListField: update whole list if order is changed
2015-05-06 09:40:08 -04:00
Gregor Kališnik
4b8344082f
Testing if we can query embedded document's field inside MapField. Part of #912 , which is fixed in 0.9.
2015-05-05 12:49:45 +02:00
Omer Katz
3f14958741
Merge pull request #957 from noirbizarre/metastrict
...
Allow to loads undeclared field with meta attribute (fix #934 )
2015-04-29 19:32:26 +03:00
Jimmy Shen
2ffdbc7fc0
fixed microsecond-level ordering/filtering bug with ComplexDateTimeField as well as unused separator option
2015-04-19 03:26:14 -04:00
Axel Haustant
ddbcc8e84b
Ensure meta.strict does not bypass constructor check
2015-04-13 18:48:42 +02:00
Axel Haustant
cd2d9517a0
Added 'strict' meta parameter
2015-04-13 17:49:08 +02:00
David Bordeynik
de0e5583a5
Fix #595 : Support += and *= for ListField
2015-03-29 09:28:26 +03:00
Matthew Ellison
42721628eb
Added EmbeddedDocumentListField Implementation
...
- Added new field type: EmbeddedDocumentListField.
- Provides additional query ability for lists of embedded documents.
- Closes MongoEngine/mongoengine#503 .
2015-02-20 11:18:40 -05:00
David Bordeynik
5c3d91e65e
Fix #866 : does not follow
2015-02-16 12:25:37 +02:00
Matthew Ellison
213a0a18a5
Updated Unit Tests for Field Choices of Documents
...
- Added Unit Test with Invalid EmbeddedDocument Choice.
- Updated Broken Link in Author's File
2015-01-12 10:11:42 -05:00
Matthew Ellison
1a24d599b3
Field Choices Now Accept Subclasses of Documents
...
- Fields containing 'choices' of which a choice is an
EmbeddedDocument or Document will now accept subclasses of that
choice.
2015-01-11 20:54:59 -05:00
Rik
80f80cd31f
fixed more tests that were using undefined model fields
2014-11-29 23:20:31 -02:00
Rik
1cac35be03
using python 2.6 compatible way of assertRaises
2014-11-29 23:20:30 -02:00
Rik
6d48100f44
add test if FieldDoesNotExist is raised
...
When trying to set an undefined field.
2014-11-29 23:20:30 -02:00
Rik
67bf6afc89
fixed tests that were using undefined model fields
2014-11-29 23:20:30 -02:00
Matthew Ellison
43af9f3fad
Update Tests for EmbeddedDocument Unique Indicies
2014-11-20 11:20:04 -05:00
David Bordeynik
8965172603
fix-#515: sparse fields
2014-11-14 21:45:46 +02:00
DavidBord
9b30afeca9
fix-#397: Allow specifying the '_cls' as a field for indexes
2014-08-24 10:51:49 +03:00
Yohan Graterol
9f8cd33d43
Fix conflict for merge PR #726
2014-08-20 11:05:53 -05:00
Bob Cribbs
0462f18680
Allow atomic update for the entire DictField
2014-08-19 23:38:36 +03:00
Jay Shirley
85336f9777
Relax the RegEx restrictions to allow the new ICAAN TLDs.
2014-08-08 09:11:05 -07:00
Wilson Junior
f17f8b48c2
small fixes for python2.6
2014-08-03 18:59:50 -04:00
Wilson Júnior
b4d6f6b947
added documentation about CachedReferenceField
2014-07-30 09:32:33 -03:00
Wilson Júnior
6c0112c2be
refs #709 , added support to disable auto_sync
2014-07-25 18:12:26 -03:00
Wilson Júnior
87c97efce0
refs #709 , added CachedReferenceField.sync_all to sync all documents on demand
2014-07-25 08:44:59 -03:00
Wilson Júnior
6c4aee1479
added CachedReferenceField restriction to use in EmbeddedDocument
2014-07-17 13:42:34 -03:00
Wilson Júnior
30fdd3e184
Added initial CachedReferenceField
2014-07-16 10:32:43 -03:00
Matthew Owen
f7302f710b
Reject email addresses where hostname ends with '.'
2013-12-05 09:50:12 -08:00
Ross Lawley
8dcd998945
Merge pull request #499 from drudim/master
...
Error in GenericReferenceField serialization was fixed
2013-11-29 04:06:04 -08:00
Dmytro Popovych
11d4f6499a
Python 2.5-2.6 compatibility fix
2013-10-20 20:21:57 +03:00
Dmytro Popovych
f2c25b4744
Error in GenericReferenceField serialization was fixed
2013-10-20 20:08:00 +03:00
Mitar
ebf7056f4a
Test for testing invalid dict field value.
2013-10-06 02:55:02 -07:00
Ross Lawley
1145c72b01
Merge pull request #462 from bool-dev/master
...
Fixes #458 , DecimalField now ignores incorrect values until validate is called just like FloatField
2013-09-27 08:41:32 -07:00
Stefan Wojcik
89785da1c5
fix validation for a nested DictField
2013-09-16 23:50:13 -07:00
bool.dev
168ecd67b0
Fixes #458 , DecimalField now ignores incorrect values until validate is called,
...
just like FloatField.
2013-09-06 22:05:31 +05:30
Ross Lawley
d07a9d2ef8
Dynamic Fields store and recompose Embedded Documents / Documents correctly ( #449 )
2013-08-20 08:30:20 +00:00
Ross Lawley
4209d61b13
Document.select_related() now respects db_alias
( #377 )
2013-07-10 12:49:19 +00:00
Ross Lawley
7cb46d0761
Fixed ListField setslice and delslice dirty tracking ( #390 )
2013-07-10 09:11:50 +00:00
Ross Lawley
ad15781d8f
Fixed amibiguity and differing behaviour regarding field defaults ( #349 )
...
Now field defaults are king, unsetting or setting to None on a field
with a default means the default is reapplied.
2013-06-06 13:31:52 +00:00
Ross Lawley
ea53612822
Merge remote-tracking branch 'origin/pr/349' into 349
2013-06-06 12:06:23 +00:00
Ross Lawley
3b60adc8da
Merge pull request #344 from matchbox/complex-change-tracking
...
Remove custom change tracking for ComplexBaseFields just use BaseField's one
2013-06-04 02:54:59 -07:00
Ross Lawley
5447c6e947
DateTimeField now auto converts valid datetime isostrings into dates ( #343 )
2013-06-04 09:08:13 +00:00
Nigel McNie
4c9e90732e
Apply defaults to fields with None value at 'set' time.
...
If a field has a default, and you explicitly set it to None, the
behaviour before this patch was very confusing:
class Person(Document):
created = DateTimeField(default=datetime.datetime.utcnow)
>>> p = Person(created=None)
>>> p.created
datetime.datetime(2013, 5, 30, 0, 18, 20, 242628)
>>> p.created
datetime.datetime(2013, 5, 30, 0, 18, 20, 995248)
>>> p.created
datetime.datetime(2013, 5, 30, 0, 18, 21, 370578)
It would be stored as None, and then at 'get' time, the default would be
applied. As you can see, if the default is a generator, this leads to some
crazy behaviour.
There's an argument that if I asked it to be set to None, why not respect that?
But I don't think that's how the rest of mongoengine seems to work (for
example, setting a field to None seems to mean it doesn't even get set in mongo
- as opposed to being set but with a 'null' value). Besides, as the code shows
above, you'd expect p.created to return None. So clearly, mongoengine is
already expecting None to mean 'default' where a default is available.
This bug also interacts nastily with required=True - if you're forcibly setting
the field to None, then at validation time, the None will fail validation
despite a perfectly valid default being available.
With this patch, when the field is set, the default is immediately applied.
This means any generation happens once, the getter always returns the same
value, and 'required' validation always respects the default.
Note: this breakage seems to be new since mongoengine 0.8.
2013-05-30 16:37:40 +12:00