Skip to content

Commit 41978ae

Browse files
committed
docs(Example): Update example.
1 parent 6bd75f5 commit 41978ae

File tree

4 files changed

+66
-12
lines changed

4 files changed

+66
-12
lines changed

examples/flask_mongoengine/app.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,27 @@
1717
id,
1818
name
1919
},
20-
role {
20+
roles {
21+
edges {
22+
node {
23+
id,
24+
name
25+
}
26+
}
27+
},
28+
leader {
2129
id,
2230
name
2331
}
32+
tasks {
33+
edges {
34+
node {
35+
id,
36+
name,
37+
deadline
38+
}
39+
}
40+
}
2441
}
2542
}
2643
}

examples/flask_mongoengine/database.py

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from mongoengine import connect
22

3-
from models import Department, Employee, Role
3+
from models import Department, Employee, Role, Task
44

55
connect('graphene-mongo-example', host='mongomock://localhost', alias='default')
66

@@ -19,12 +19,31 @@ def init_db():
1919
engineer = Role(name='engineer')
2020
engineer.save()
2121

22-
peter = Employee(name='Peter', department=engineering, role=engineer)
23-
peter.save()
24-
25-
roy = Employee(name='Roy', department=engineering, role=engineer)
26-
roy.save()
22+
debug = Task(name='Debug')
23+
test = Task(name='Test')
2724

28-
tracy = Employee(name='Tracy', department=hr, role=manager)
25+
tracy = Employee(
26+
name='Tracy',
27+
department=hr,
28+
roles=[engineer, manager],
29+
tasks=[]
30+
)
2931
tracy.save()
3032

33+
peter = Employee(
34+
name='Peter',
35+
department=engineering,
36+
leader=tracy,
37+
roles=[engineer],
38+
tasks=[debug, test]
39+
)
40+
peter.save()
41+
42+
roy = Employee(
43+
name='Roy',
44+
department=engineering,
45+
leader=tracy,
46+
roles=[engineer],
47+
tasks=[debug]
48+
)
49+
roy.save()

examples/flask_mongoengine/models.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,35 @@
11
from datetime import datetime
2-
from mongoengine import Document
2+
from mongoengine import Document, EmbeddedDocument
33
from mongoengine.fields import (
4-
DateTimeField, ReferenceField, StringField,
4+
DateTimeField, EmbeddedDocumentField,
5+
ListField, ReferenceField, StringField,
56
)
67

78

89
class Department(Document):
10+
911
meta = {'collection': 'department'}
1012
name = StringField()
1113

1214

1315
class Role(Document):
16+
1417
meta = {'collection': 'role'}
1518
name = StringField()
1619

1720

21+
class Task(EmbeddedDocument):
22+
23+
name = StringField()
24+
deadline = DateTimeField(default=datetime.now)
25+
26+
1827
class Employee(Document):
28+
1929
meta = {'collection': 'employee'}
2030
name = StringField()
2131
hired_on = DateTimeField(default=datetime.now)
2232
department = ReferenceField(Department)
23-
role = ReferenceField(Role)
24-
33+
roles = ListField(ReferenceField(Role))
34+
leader = ReferenceField('Employee')
35+
tasks = ListField(EmbeddedDocumentField(Task))

examples/flask_mongoengine/schema.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from models import Department as DepartmentModel
55
from models import Employee as EmployeeModel
66
from models import Role as RoleModel
7+
from models import Task as TaskModel
78

89
class Department(MongoengineObjectType):
910

@@ -19,6 +20,12 @@ class Meta:
1920
interfaces = (Node,)
2021

2122

23+
class Task(MongoengineObjectType):
24+
25+
class Meta:
26+
model = TaskModel
27+
interfaces = (Node,)
28+
2229
class Employee(MongoengineObjectType):
2330

2431
class Meta:

0 commit comments

Comments
 (0)