1
+ import mongoengine
1
2
from datetime import datetime
2
- from mongoengine import (
3
- connect , Document , EmbeddedDocument
4
- )
5
- from mongoengine .fields import (
6
- DateTimeField , EmailField , EmbeddedDocumentField ,
7
- FloatField , EmbeddedDocumentListField , ListField , LazyReferenceField ,
8
- MapField , MultiPolygonField , PointField , PolygonField ,
9
- ReferenceField , StringField ,
10
- )
11
3
12
- connect ('graphene-mongo-test' , host = 'mongomock://localhost' , alias = 'default' )
4
+ mongoengine . connect ('graphene-mongo-test' , host = 'mongomock://localhost' , alias = 'default' )
13
5
14
6
15
- class Publisher (Document ):
7
+ class Publisher (mongoengine . Document ):
16
8
17
9
meta = {'collection' : 'test_publisher' }
18
- name = StringField ()
10
+ name = mongoengine . StringField ()
19
11
20
12
@property
21
13
def legal_name (self ):
@@ -25,129 +17,145 @@ def bad_field(self):
25
17
return None
26
18
27
19
28
- class Editor (Document ):
20
+ class Editor (mongoengine . Document ):
29
21
"""
30
22
An Editor of a publication.
31
23
"""
32
24
33
25
meta = {'collection' : 'test_editor' }
34
- id = StringField (primary_key = True )
35
- first_name = StringField (required = True , help_text = "Editor's first name." , db_field = 'fname' )
36
- last_name = StringField (required = True , help_text = "Editor's last name." )
37
- metadata = MapField (field = StringField (), help_text = "Arbitrary metadata." )
38
- company = LazyReferenceField (Publisher )
26
+ id = mongoengine . StringField (primary_key = True )
27
+ first_name = mongoengine . StringField (required = True , help_text = "Editor's first name." , db_field = 'fname' )
28
+ last_name = mongoengine . StringField (required = True , help_text = "Editor's last name." )
29
+ metadata = mongoengine . MapField (field = mongoengine . StringField (), help_text = "Arbitrary metadata." )
30
+ company = mongoengine . LazyReferenceField (Publisher )
39
31
40
32
41
- class Article (Document ):
33
+ class Article (mongoengine . Document ):
42
34
43
35
meta = {'collection' : 'test_article' }
44
- headline = StringField (required = True , help_text = "The article headline." )
45
- pub_date = DateTimeField (default = datetime .now ,
46
- verbose_name = "publication date" ,
47
- help_text = "The date of first press." )
48
- editor = ReferenceField (Editor )
49
- reporter = ReferenceField ('Reporter' )
36
+ headline = mongoengine .StringField (required = True , help_text = "The article headline." )
37
+ pub_date = mongoengine .DateTimeField (
38
+ default = datetime .now ,
39
+ verbose_name = "publication date" ,
40
+ help_text = "The date of first press." )
41
+ editor = mongoengine .ReferenceField (Editor )
42
+ reporter = mongoengine .ReferenceField ('Reporter' )
43
+ # Will not convert this field cause no chioces
44
+ generic_reference = mongoengine .GenericReferenceField ()
50
45
51
46
52
- class EmbeddedArticle (EmbeddedDocument ):
47
+ class EmbeddedArticle (mongoengine . EmbeddedDocument ):
53
48
54
49
meta = {'collection' : 'test_embedded_article' }
55
- headline = StringField (required = True )
56
- pub_date = DateTimeField (default = datetime .now )
57
- editor = ReferenceField (Editor )
58
- reporter = ReferenceField ('Reporter' )
50
+ headline = mongoengine . StringField (required = True )
51
+ pub_date = mongoengine . DateTimeField (default = datetime .now )
52
+ editor = mongoengine . ReferenceField (Editor )
53
+ reporter = mongoengine . ReferenceField ('Reporter' )
59
54
60
55
61
- class Reporter (Document ):
56
+ class Reporter (mongoengine . Document ):
62
57
63
58
meta = {'collection' : 'test_reporter' }
64
- id = StringField (primary_key = True )
65
- first_name = StringField (required = True )
66
- last_name = StringField (required = True )
67
- email = EmailField ()
68
- awards = ListField (StringField ())
69
- articles = ListField (ReferenceField (Article ))
70
- embedded_articles = ListField (EmbeddedDocumentField (EmbeddedArticle ))
71
- embedded_list_articles = EmbeddedDocumentListField (EmbeddedArticle )
72
-
73
-
74
- class Player (Document ):
59
+ id = mongoengine .StringField (primary_key = True )
60
+ first_name = mongoengine .StringField (required = True )
61
+ last_name = mongoengine .StringField (required = True )
62
+ email = mongoengine .EmailField ()
63
+ awards = mongoengine .ListField (mongoengine .StringField ())
64
+ articles = mongoengine .ListField (mongoengine .ReferenceField (Article ))
65
+ embedded_articles = mongoengine .ListField (mongoengine .EmbeddedDocumentField (EmbeddedArticle ))
66
+ embedded_list_articles = mongoengine .EmbeddedDocumentListField (EmbeddedArticle )
67
+ id = mongoengine .StringField (primary_key = True )
68
+ first_name = mongoengine .StringField (required = True )
69
+ last_name = mongoengine .StringField (required = True )
70
+ email = mongoengine .EmailField ()
71
+ awards = mongoengine .ListField (mongoengine .StringField ())
72
+ articles = mongoengine .ListField (mongoengine .ReferenceField (Article ))
73
+ embedded_articles = mongoengine .ListField (mongoengine .EmbeddedDocumentField (EmbeddedArticle ))
74
+ embedded_list_articles = mongoengine .EmbeddedDocumentListField (EmbeddedArticle )
75
+ generic_reference = mongoengine .GenericReferenceField (
76
+ choices = [Article , Editor , ]
77
+ )
78
+
79
+
80
+ class Player (mongoengine .Document ):
75
81
76
82
meta = {'collection' : 'test_player' }
77
- first_name = StringField (required = True )
78
- last_name = StringField (required = True )
79
- opponent = ReferenceField ('Player' )
80
- players = ListField (ReferenceField ('Player' ))
81
- articles = ListField (ReferenceField ('Article' ))
82
- embedded_list_articles = EmbeddedDocumentListField (EmbeddedArticle )
83
+ first_name = mongoengine . StringField (required = True )
84
+ last_name = mongoengine . StringField (required = True )
85
+ opponent = mongoengine . ReferenceField ('Player' )
86
+ players = mongoengine . ListField (mongoengine . ReferenceField ('Player' ))
87
+ articles = mongoengine . ListField (mongoengine . ReferenceField ('Article' ))
88
+ embedded_list_articles = mongoengine . EmbeddedDocumentListField (EmbeddedArticle )
83
89
84
90
85
- class Parent (Document ):
91
+ class Parent (mongoengine . Document ):
86
92
87
93
meta = {
88
94
'collection' : 'test_parent' ,
89
95
'allow_inheritance' : True
90
96
}
91
- bar = StringField ()
92
- loc = MultiPolygonField ()
97
+ bar = mongoengine . StringField ()
98
+ loc = mongoengine . MultiPolygonField ()
93
99
94
100
95
- class CellTower (Document ):
101
+ class CellTower (mongoengine . Document ):
96
102
97
103
meta = {
98
104
'collection' : 'test_cell_tower' ,
99
105
}
100
- code = StringField ()
101
- base = PolygonField ()
102
- coverage_area = MultiPolygonField ()
106
+ code = mongoengine . StringField ()
107
+ base = mongoengine . PolygonField ()
108
+ coverage_area = mongoengine . MultiPolygonField ()
103
109
104
110
105
111
class Child (Parent ):
106
112
107
113
meta = {'collection' : 'test_child' }
108
- baz = StringField ()
109
- loc = PointField ()
114
+ baz = mongoengine . StringField ()
115
+ loc = mongoengine . PointField ()
110
116
111
117
112
- class ProfessorMetadata (EmbeddedDocument ):
118
+ class ProfessorMetadata (mongoengine . EmbeddedDocument ):
113
119
114
120
meta = {'collection' : 'test_professor_metadata' }
115
- id = StringField (primary_key = False )
116
- first_name = StringField ()
117
- last_name = StringField ()
118
- departments = ListField (StringField ())
121
+ id = mongoengine . StringField (primary_key = False )
122
+ first_name = mongoengine . StringField ()
123
+ last_name = mongoengine . StringField ()
124
+ departments = mongoengine . ListField (mongoengine . StringField ())
119
125
120
126
121
- class ProfessorVector (Document ):
127
+ class ProfessorVector (mongoengine . Document ):
122
128
123
129
meta = {'collection' : 'test_professor_vector' }
124
- vec = ListField (FloatField ())
125
- metadata = EmbeddedDocumentField (ProfessorMetadata )
130
+ vec = mongoengine . ListField (mongoengine . FloatField ())
131
+ metadata = mongoengine . EmbeddedDocumentField (ProfessorMetadata )
126
132
127
133
128
- class ParentWithRelationship (Document ):
134
+ class ParentWithRelationship (mongoengine . Document ):
129
135
130
136
meta = {'collection' : 'test_parent_reference' }
131
- before_child = ListField (ReferenceField ("ChildRegisteredBefore" ))
132
- after_child = ListField (ReferenceField ("ChildRegisteredAfter" ))
133
- name = StringField ()
137
+ before_child = mongoengine .ListField (
138
+ mongoengine .ReferenceField ('ChildRegisteredBefore' ))
139
+ after_child = mongoengine .ListField (
140
+ mongoengine .ReferenceField ('ChildRegisteredAfter' ))
141
+ name = mongoengine .StringField ()
134
142
135
143
136
- class ChildRegisteredBefore (Document ):
144
+ class ChildRegisteredBefore (mongoengine . Document ):
137
145
138
146
meta = {'collection' : 'test_child_before_reference' }
139
- parent = ReferenceField (ParentWithRelationship )
140
- name = StringField ()
147
+ parent = mongoengine . ReferenceField (ParentWithRelationship )
148
+ name = mongoengine . StringField ()
141
149
142
150
143
- class ChildRegisteredAfter (Document ):
151
+ class ChildRegisteredAfter (mongoengine . Document ):
144
152
145
153
meta = {'collection' : 'test_child_after_reference' }
146
- parent = ReferenceField (ParentWithRelationship )
147
- name = StringField ()
154
+ parent = mongoengine . ReferenceField (ParentWithRelationship )
155
+ name = mongoengine . StringField ()
148
156
149
157
150
- class ErroneousModel (Document ):
158
+ class ErroneousModel (mongoengine . Document ):
151
159
meta = {'collection' : 'test_colliding_objects_model' }
152
160
153
- objects = ListField (StringField ())
161
+ objects = mongoengine . ListField (mongoengine . StringField ())
0 commit comments