сделать поле ID обязательным для MongoEngineObjectType - PullRequest
0 голосов
/ 03 июня 2019

Я использую графен с графен-монго. Моя схема graphql имеет тип, подобный этому:

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

Мой класс графена для этого типа

class Product(MongoengineObjectType):

    class Meta:
        model = MongoProduct

и класс mongoengine -

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

Как я могу сделать обязательным поле id? GraphiQL показывает восклицательный знак рядом с name, но не рядом с id.

1 Ответ

1 голос
/ 03 июня 2019
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

...