Skip to content

Commit c5569de

Browse files
Bug fixed in queryset reference args
1 parent 0ffff37 commit c5569de

File tree

2 files changed

+7
-14
lines changed

2 files changed

+7
-14
lines changed

graphene_mongo/fields.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,10 @@ def chained_resolver(self, resolver, is_partial, root, info, **args):
337337
return resolved
338338
elif isinstance(resolved, QuerySet):
339339
args.update(resolved._query)
340+
args_copy = args.copy()
341+
for arg_name, arg in args.copy().items():
342+
if arg_name not in self.model._fields_ordered + ('first', 'last', 'before', 'after'):
343+
args_copy.pop(arg_name)
340344
return self.default_resolver(root, info, required_fields, **args)
341345
else:
342346
return resolved

graphene_mongo/tests/models.py

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
mongoengine.connect(
77
"graphene-mongo-test", host="mongomock://localhost", alias="default"
88
)
9+
10+
911
# mongoengine.connect('graphene-mongo-test', host='mongodb://localhost/graphene-mongo-dev')
1012

1113

1214
class Publisher(mongoengine.Document):
13-
1415
meta = {"collection": "test_publisher"}
1516
name = mongoengine.StringField()
1617

@@ -42,7 +43,6 @@ class Editor(mongoengine.Document):
4243

4344

4445
class Article(mongoengine.Document):
45-
4646
meta = {"collection": "test_article"}
4747
headline = mongoengine.StringField(required=True, help_text="The article headline.")
4848
pub_date = mongoengine.DateTimeField(
@@ -58,7 +58,6 @@ class Article(mongoengine.Document):
5858

5959

6060
class EmbeddedArticle(mongoengine.EmbeddedDocument):
61-
6261
meta = {"collection": "test_embedded_article"}
6362
headline = mongoengine.StringField(required=True)
6463
pub_date = mongoengine.DateTimeField(default=datetime.now)
@@ -72,7 +71,6 @@ class EmbeddedFoo(mongoengine.EmbeddedDocument):
7271

7372

7473
class Reporter(mongoengine.Document):
75-
7674
meta = {"collection": "test_reporter"}
7775
id = mongoengine.StringField(primary_key=True)
7876
first_name = mongoengine.StringField(required=True)
@@ -84,7 +82,7 @@ class Reporter(mongoengine.Document):
8482
mongoengine.EmbeddedDocumentField(EmbeddedArticle)
8583
)
8684
embedded_list_articles = mongoengine.EmbeddedDocumentListField(EmbeddedArticle)
87-
generic_reference = mongoengine.GenericReferenceField(choices=[Article, Editor],required=True)
85+
generic_reference = mongoengine.GenericReferenceField(choices=[Article, Editor], required=True)
8886
generic_embedded_document = mongoengine.GenericEmbeddedDocumentField(
8987
choices=[EmbeddedArticle, EmbeddedFoo]
9088
)
@@ -94,7 +92,6 @@ class Reporter(mongoengine.Document):
9492

9593

9694
class Player(mongoengine.Document):
97-
9895
meta = {"collection": "test_player"}
9996
first_name = mongoengine.StringField(required=True)
10097
last_name = mongoengine.StringField(required=True)
@@ -105,29 +102,25 @@ class Player(mongoengine.Document):
105102

106103

107104
class Parent(mongoengine.Document):
108-
109105
meta = {"collection": "test_parent", "allow_inheritance": True}
110106
bar = mongoengine.StringField()
111107
loc = mongoengine.MultiPolygonField()
112108

113109

114110
class CellTower(mongoengine.Document):
115-
116111
meta = {"collection": "test_cell_tower"}
117112
code = mongoengine.StringField()
118113
base = mongoengine.PolygonField()
119114
coverage_area = mongoengine.MultiPolygonField()
120115

121116

122117
class Child(Parent):
123-
124118
meta = {"collection": "test_child"}
125119
baz = mongoengine.StringField()
126120
loc = mongoengine.PointField()
127121

128122

129123
class ProfessorMetadata(mongoengine.EmbeddedDocument):
130-
131124
meta = {"collection": "test_professor_metadata"}
132125
id = mongoengine.StringField(primary_key=False)
133126
first_name = mongoengine.StringField()
@@ -136,14 +129,12 @@ class ProfessorMetadata(mongoengine.EmbeddedDocument):
136129

137130

138131
class ProfessorVector(mongoengine.Document):
139-
140132
meta = {"collection": "test_professor_vector"}
141133
vec = mongoengine.ListField(mongoengine.FloatField())
142134
metadata = mongoengine.EmbeddedDocumentField(ProfessorMetadata)
143135

144136

145137
class ParentWithRelationship(mongoengine.Document):
146-
147138
meta = {"collection": "test_parent_reference"}
148139
before_child = mongoengine.ListField(
149140
mongoengine.ReferenceField("ChildRegisteredBefore")
@@ -155,14 +146,12 @@ class ParentWithRelationship(mongoengine.Document):
155146

156147

157148
class ChildRegisteredBefore(mongoengine.Document):
158-
159149
meta = {"collection": "test_child_before_reference"}
160150
parent = mongoengine.ReferenceField(ParentWithRelationship)
161151
name = mongoengine.StringField()
162152

163153

164154
class ChildRegisteredAfter(mongoengine.Document):
165-
166155
meta = {"collection": "test_child_after_reference"}
167156
parent = mongoengine.ReferenceField(ParentWithRelationship)
168157
name = mongoengine.StringField()

0 commit comments

Comments
 (0)