跳转到主要内容

Graphene Mongoengine集成

项目描述

Build Status Coverage Status Documentation Status PyPI version PyPI pyversions Downloads

Lint Test Package

Graphene-Mongo

MongoengineGraphene的集成。

安装

要安装graphene-mongo,只需在您的shell中运行此命令

pip install graphene-mongo

示例

这里是一个简单的Mongoengine模型作为models.py

from mongoengine import Document
from mongoengine.fields import StringField


class User(Document):
    meta = {'collection': 'user'}
    first_name = StringField(required=True)
    last_name = StringField(required=True)

为了创建一个GraphQL模式和同步执行器;为了它,你只需要编写以下内容

import graphene

from graphene_mongo import MongoengineObjectType

from .models import User as UserModel


class User(MongoengineObjectType):
    class Meta:
        model = UserModel


class Query(graphene.ObjectType):
    users = graphene.List(User)

    def resolve_users(self, info):
        return list(UserModel.objects.all())


schema = graphene.Schema(query=Query)

然后你可以简单地查询该模式

query = '''
    query {
        users {
            firstName,
            lastName
        }
    }
'''
result = await schema.execute(query)

为了创建一个GraphQL模式和异步执行器;为了它,你只需要编写以下内容

import graphene

from graphene_mongo import AsyncMongoengineObjectType
from graphene_mongo.utils import sync_to_async
from concurrent.futures import ThreadPoolExecutor

from .models import User as UserModel


class User(AsyncMongoengineObjectType):
    class Meta:
        model = UserModel


class Query(graphene.ObjectType):
    users = graphene.List(User)

    async def resolve_users(self, info):
        return await sync_to_async(list, thread_sensitive=False,
                             executor=ThreadPoolExecutor())(UserModel.objects.all())


schema = graphene.Schema(query=Query)

然后你可以简单地查询该模式

query = '''
    query {
        users {
            firstName,
            lastName
        }
    }
'''
result = await schema.execute_async(query)

了解更多信息,请查看以下示例

贡献

在克隆此存储库后,请运行以下命令以确保已安装依赖项

pip install -r requirements.txt

开发完成后,可以通过运行以下命令评估完整的测试套件

make test

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

graphene_mongo-0.4.4.tar.gz (78.2 kB 查看哈希值)

上传时间

构建分布

graphene_mongo-0.4.4-py3-none-any.whl (89.9 kB 查看哈希值)

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面