graphql-python/graphene-mongo

Problem with EmbeddedFiled (Can't query via graphql

david2003542 opened this issue · 1 comments

Hi Guys, Currently I set up a simple model, schema, type as below. However, I don't know why when I use EmbeddedField it works in the runtime (It doesn't show any runtime error) but I can't operate any query on this field.

Error messge
"Cannot query field "metadata" on type "Scenario"

Environment:
Python3.6
Python3.8

Computer system
Mac: MacOC

Models.py

# EmbeddedDocument Models
class Scenario(EmbeddedDocument):
    name = models.StringField(max_length=100)
    creationDatetime = models.DateTimeField()
    lastUpdateDatetime = models.DateTimeField()
    data = models.DictField()
    cancellation = models.BooleanField(default=False)
    isDefault = models.BooleanField(default=False)


# Document Models
class View(Document):
    name = models.StringField(max_length=100)
    scenarios = models.EmbeddedDocumentListField(Scenario)
    cancellation = models.BooleanField(default=False)

Types.py

class ViewType(MongoengineObjectType):
    class Meta:
        model = View
        interfaces = (relay.Node,)

Schema.py

class Query(graphene.ObjectType):
    node = Node.Field()    
    view = MongoengineConnectionField(ViewType)
    views = graphene.List(ViewType)
    
    def resolve_views(self, info, name):
        return View.objects.get(name=name)

Also, I have tried the solution on this issue as well
#32

I will get an error when I declare the reference model

@david2003542
Have you tried to declare ScenarioType as follows before ViewType?

class ScenarioType(MongoengineObjectType):
    class Meta:
        model = Senario
        interfaces = (relay.Node,)