使 MongoEngineObjectType 需要 ID 字段

make ID field required with MongoEngineObjectType

我用石墨烯和石墨烯-mongo。我的 graphql 模式具有类似于此的类型:

type Report {
   id:ID!
   name:String!
}

我的这种类型的石墨烯 class 是

class Product(MongoengineObjectType):

    class Meta:
        model = MongoProduct

并且mongo引擎class是

class MongoProduct(mng.DynamicDocument):        
    name = mng.fields.StringField(required=True)

如何使字段 id 成为必填字段? GraphiQL 在 name 旁边显示感叹号,但在 id 旁边没有。

class MongoProduct(mng.DynamicDocument):
    id = ObjectIdField(primary_key=True, required=True)    # Optional: Add default=bson.ObjectId        
    name = mng.fields.StringField(required=True)

id 也可以是 IntField 或 StringField,但我建议坚持使用 ObjectId