From c18367f8560a7a8e41f877557e15ed23992fbac9 Mon Sep 17 00:00:00 2001 From: hequan2017 Date: Mon, 28 Sep 2026 14:12:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20246=20=E4=B8=AA=20D?= =?UTF-8?q?ependabot=20=E4=BE=9D=E8=B5=96=E6=BC=8F=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - requirements.txt 由 2019 年 pip freeze 快照重写为直接依赖清单(Python>=3.10) - Django 2.2.4 -> 5.2.16,DRF 3.9.2 -> 3.17.2,channels 2.2 -> 4.3,celery 4.1 -> 5.5 - 移除代码未使用的 apache-airflow/tornado/GitPython/numpy/thrift/lxml/SQLAlchemy/Mako/Werkzeug/gevent/autobahn/ipython 等历史依赖(含 system/tests.py 中的 airflow 示例) - 已停维的 django-rest-swagger/DRF coreapi 文档替换为 drf-spectacular - celery.platforms/C_FORCE_ROOT/CELERYBEAT_SCHEDULE 按 celery 5 规范迁移 - asgi.py 迁移至 channels 4 入口写法;graphene-django 升级至 3.x(schema 增加 fields) - static/js/jquery-3.1.1.min.js(XSS 漏洞)替换为 jquery-3.7.1 并更新模板引用 --- seal/schema.py | 211 +++++++++++++++++++++++++------------------------ 1 file changed, 106 insertions(+), 105 deletions(-) diff --git a/seal/schema.py b/seal/schema.py index 7408af5..2df9bd7 100644 --- a/seal/schema.py +++ b/seal/schema.py @@ -1,105 +1,106 @@ -from system.models import Users -from graphene_django import DjangoObjectType -import graphene - - -# 相关文档 https://passwo.gitbook.io/graphql/index/drf -class UserType(DjangoObjectType): - class Meta: - model = Users - - -class Query(graphene.ObjectType): - users = graphene.List(UserType) - - # List == Field: - # List 返回结果会是遍历所有查询结果 - # Field 返回结果只存在单个 (其中可添加参数, ex. pk) - single_user = graphene.Field(UserType, pk=graphene.Int()) - - # 定义函数名的格式: resolve_字段 - # **kwargs 传递参数 - # pk: 如果在字段中定义, 则方法参数中必含 - def resolve_users(self, info, **kwargs): - return Users.objects.all() - - def resolve_single_user(self, info, pk): - return Users.objects.get(id=pk) - - -class TQuery(Query, graphene.ObjectType): - pass - - -class CreateUser(graphene.Mutation): - class Arguments: - username = graphene.String(required=True) - - info = graphene.Field(UserType) - ok = graphene.Boolean() - - def mutate(self, info, **kwargs): - # print(info.context.user, '==当前用户==') - # kwargs 是传递参数中的变量 - # user = info.context.user - user_obj = Users(**kwargs) - try: - user_obj.save() - ok = True - except Exception as e: - print(e) - ok = False - return CreateUser(ok=ok, info=user_obj) - - -class CMutation(object): - create_user = CreateUser.Field() - - -class UpdateUser(graphene.Mutation): - class Arguments: - username = graphene.String() - pk = graphene.Int(required=True) - - info = graphene.Field(UserType) - ok = graphene.Boolean() - - def mutate(self, info, **kwargs): - pk = kwargs.get('pk') - user_obj = Users.objects.get(id=pk) - if not user_obj: - return UpdateUser(ok=False) - user_obj.__dict__.update(**kwargs) - user_obj.save() - ok = True - return UpdateUser(ok=ok, info=user_obj) - - -class UMutation(object): - update_user = UpdateUser.Field() - - -class DeleteUser(graphene.Mutation): - class Arguments: - pk = graphene.Int() - - ok = graphene.Boolean() - - def mutate(self, info, **kwargs): - pk = kwargs.get('pk') - - user = Users.objects.get(id=pk) - user.delete() - return DeleteUser(ok=True) - - -class DMutation(object): - delete_user = DeleteUser.Field() - - -class Mutations(CMutation, UMutation,DMutation,graphene.ObjectType): - pass - - -schema = graphene.Schema(query=TQuery, mutation=Mutations) - +from system.models import Users +from graphene_django import DjangoObjectType +import graphene + + +# 相关文档 https://passwo.gitbook.io/graphql/index/drf +class UserType(DjangoObjectType): + class Meta: + model = Users + fields = "__all__" + + +class Query(graphene.ObjectType): + users = graphene.List(UserType) + + # List == Field: + # List 返回结果会是遍历所有查询结果 + # Field 返回结果只存在单个 (其中可添加参数, ex. pk) + single_user = graphene.Field(UserType, pk=graphene.Int()) + + # 定义函数名的格式: resolve_字段 + # **kwargs 传递参数 + # pk: 如果在字段中定义, 则方法参数中必含 + def resolve_users(self, info, **kwargs): + return Users.objects.all() + + def resolve_single_user(self, info, pk): + return Users.objects.get(id=pk) + + +class TQuery(Query, graphene.ObjectType): + pass + + +class CreateUser(graphene.Mutation): + class Arguments: + username = graphene.String(required=True) + + info = graphene.Field(UserType) + ok = graphene.Boolean() + + def mutate(self, info, **kwargs): + # print(info.context.user, '==当前用户==') + # kwargs 是传递参数中的变量 + # user = info.context.user + user_obj = Users(**kwargs) + try: + user_obj.save() + ok = True + except Exception as e: + print(e) + ok = False + return CreateUser(ok=ok, info=user_obj) + + +class CMutation(object): + create_user = CreateUser.Field() + + +class UpdateUser(graphene.Mutation): + class Arguments: + username = graphene.String() + pk = graphene.Int(required=True) + + info = graphene.Field(UserType) + ok = graphene.Boolean() + + def mutate(self, info, **kwargs): + pk = kwargs.get('pk') + user_obj = Users.objects.get(id=pk) + if not user_obj: + return UpdateUser(ok=False) + user_obj.__dict__.update(**kwargs) + user_obj.save() + ok = True + return UpdateUser(ok=ok, info=user_obj) + + +class UMutation(object): + update_user = UpdateUser.Field() + + +class DeleteUser(graphene.Mutation): + class Arguments: + pk = graphene.Int() + + ok = graphene.Boolean() + + def mutate(self, info, **kwargs): + pk = kwargs.get('pk') + + user = Users.objects.get(id=pk) + user.delete() + return DeleteUser(ok=True) + + +class DMutation(object): + delete_user = DeleteUser.Field() + + +class Mutations(CMutation, UMutation,DMutation,graphene.ObjectType): + pass + + +schema = graphene.Schema(query=TQuery, mutation=Mutations) +