石墨烯的通用模型变异

2024-10-01 07:43:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在石墨烯中创建一种通用的创建突变,用于烧瓶应用。为了创建变异,语法通常如下所示:

class CreateMutation(graphene.Mutation):
    class Arguments:
        model_attribute1
        model_attribute2
        ...

    def mutate(root, info, model_attribute1, model_attribute2):
        create model here

我想创建一些泛型的create变异类。为此,我需要动态创建Arguments类,然后将它们传递给mutate。我发现我可以从带有SqlAlchemyModel.__table__.columns的sqlalchemy模型中获得突变所需的属性,但是我很难弄清楚如何创建给定这些列的Arguments类


Tags: model烧瓶defcreate语法argumentsclassgraphene
1条回答
网友
1楼 · 发布于 2024-10-01 07:43:12

试试这个:

def create_class(args: dict[str, str]):
    class Arguments: pass
    for arg in args:
        setattr(Arguments, arg, args[arg])
    return Arguments

x = create_class({'thing': '100'}); assert x.thing == '100';```

相关问题 更多 >