<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          graphene-sqlalchemyGraphene SQLAlchemy integration

          聯(lián)合創(chuàng)作 · 2023-09-19 00:43

          Please read UPGRADE-v2.0.md to learn how to upgrade to Graphene 2.0.


          Graphene Logo Graphene-SQLAlchemy Coverage Status

          A SQLAlchemy integration for Graphene.

          Installation

          For instaling graphene, just run this command in your shell

          pip install "graphene-sqlalchemy>=2.0"

          Examples

          Here is a simple SQLAlchemy model:

          from sqlalchemy import Column, Integer, String
          
          from sqlalchemy.ext.declarative import declarative_base
          
          Base = declarative_base()
          
          class UserModel(Base):
              __tablename__ = 'user'
              id = Column(Integer, primary_key=True)
              name = Column(String)
              last_name = Column(String)

          To create a GraphQL schema for it you simply have to write the following:

          import graphene
          from graphene_sqlalchemy import SQLAlchemyObjectType
          
          class User(SQLAlchemyObjectType):
              class Meta:
                  model = UserModel
                  # use `only_fields` to only expose specific fields ie "name"
                  # only_fields = ("name",)
                  # use `exclude_fields` to exclude specific fields ie "last_name"
                  # exclude_fields = ("last_name",)
          
          class Query(graphene.ObjectType):
              users = graphene.List(User)
          
              def resolve_users(self, info):
                  query = User.get_query(info)  # SQLAlchemy query
                  return query.all()
          
          schema = graphene.Schema(query=Query)

          Then you can simply query the schema:

          query = '''
              query {
                users {
                  name,
                  lastName
                }
              }
          '''
          result = schema.execute(query, context_value={'session': db_session})

          You may also subclass SQLAlchemyObjectType by providing abstract = True in your subclasses Meta:

          from graphene_sqlalchemy import SQLAlchemyObjectType
          
          class ActiveSQLAlchemyObjectType(SQLAlchemyObjectType):
              class Meta:
                  abstract = True
          
              @classmethod
              def get_node(cls, info, id):
                  return cls.get_query(info).filter(
                      and_(cls._meta.model.deleted_at==None,
                           cls._meta.model.id==id)
                      ).first()
          
          class User(ActiveSQLAlchemyObjectType):
              class Meta:
                  model = UserModel
          
          class Query(graphene.ObjectType):
              users = graphene.List(User)
          
              def resolve_users(self, info):
                  query = User.get_query(info)  # SQLAlchemy query
                  return query.all()
          
          schema = graphene.Schema(query=Query)

          Full Examples

          To learn more check out the following examples:

          Contributing

          See CONTRIBUTING.md

          瀏覽 17
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久热青草 | 四虎影成人精品A片√ | 亚洲第一av导航 亚洲福利精品内射 | 插入白丝袜舞蹈生妹妹的嫩穴网站 | 爱爱视频免费看日本 |