【问题标题】:Graphene: ValueError: Unknown argument "__annotations__"石墨烯:ValueError:未知参数“__annotations__”
【发布时间】:2021-12-22 09:12:02
【问题描述】:

我是graphene python 的新手。我有一个User 模型,如下所示:

我正在使用SQLALCHEMYflask

from api import db
class User(db.Model):
    __tablename__ = "users"
    id = db.Column(db.Integer, primary_key=True, nullable=False)
    userId = db.Column(db.String(50), nullable=False, unique=True)
    username = db.Column(db.String(50), nullable=False, unique=True)
    # profile = db.relationship('Profile', backref='profile', lazy=True, uselist=False)

    def __repr__(self) -> str:
        return '<User %r>' % self.username

在我的schema 包中,这是我所拥有的:

from graphene_sqlalchemy import SQLAlchemyObjectType
class UserType(SQLAlchemyObjectType):
    class Meta:
        model = User

class CreateUser(graphene.Mutation):
    class Arguments:
        username: graphene.String(required=True)
    
    def mutate(root, info, username):
        print(username)
        user = UserType(
            username=username,
            userId = uuid.UUID()
        )
        db.session.add(user)   
        db.session.commit() 
        ok = True
        return CreateUser(ok=ok, user = user)

class Mutation(ObjectType):
    create_user = CreateUser.Field(
        name="create_user_mutation",
        description="creating a new user by providing the username."
    )

...

schema = Schema(query=Query, mutation=Mutation)

当我运行应用程序时,我收到以下错误:

...schema\__init__.py", line 33, in Mutation
create_user = CreateUser.Field()

....
raise ValueError('Unknown argument "{}".'.format(default_name))
ValueError: Unknown argument "__annotations__".

这可能是我的问题。

【问题讨论】:

    标签: python graphene-python


    【解决方案1】:

    类 CreateUser(graphene.Mutation): 类参数: 用户名:graphene.String(required=True)

    我认为这是语法问题;)

    改变:

    用户名:graphene.String(required=True)

    进入:

    用户名 = graphene.String(required=True)

    【讨论】:

      猜你喜欢
      • 2021-08-24
      • 2017-05-11
      • 2022-01-24
      • 2017-05-13
      • 2018-01-11
      • 2020-09-01
      • 2021-09-25
      • 2019-12-20
      • 2020-01-08
      相关资源
      最近更新 更多