小编dot*_*227的帖子

Graphene-Django 和多对多关系查找

我有两个 Django 模型——老师和学生,并且有多对多的关系。老师可以有多个学生,学生也可以有多个老师。有一种称为“备注”的“通过”模型,教师可以在其中将学生标记为最喜欢的。

我是 GraphQL 的新手。我正在尝试实现两个查询:
1. 老师和他们所有的学生
2. 老师和他们最喜欢的学生

我在实施第二个查询时遇到了困难,并且一直无法这样做。

模型.py

SUBJECTS = (
    ("Maths", "Maths"),
    ("Chemistry", "Chemistry"),
    ("Physics", "Physics")
)

class Student(models.Model):
    name = models.CharField(max_length=100)
    age = models.IntegerField(default=0)

    def __str__(self):
        return self.name

class Teacher(models.Model):
    name = models.CharField(max_length=100)
    subject = models.CharField(max_length=100, choices=SUBJECTS)
    students = models.ManyToManyField(Student, through="Remarks")

    def __str__(self):
        return self.name

class Remarks(models.Model):
    student = models.ForeignKey(Student, related_name="student", on_delete=models.DO_NOTHING)
    teacher = models.ForeignKey(Teacher, related_name="teacher", on_delete=models.DO_NOTHING)
    favorite = models.BooleanField(default=False, choices=(
        (True, "Yes"),
        (False, "No")
    ))

Run Code Online (Sandbox Code Playgroud)

模式.py

import graphene
from graphene import relay, ObjectType …
Run Code Online (Sandbox Code Playgroud)

django graphql graphene-python graphene-django django-graphql-jwt

8
推荐指数
1
解决办法
1209
查看次数

403 请求在容器内访问 GCP 上的 Secret 时存在身份验证不足问题

我正在尝试访问 GCP Secrets 上的机密,但收到以下错误:

in get_total_results "api_key": get_credentials("somekey").get("somekey within key"), File
 "/helper.py", line 153, in get_credentials response = client.access_secret_version(request={"name": resource_name})
 File "/usr/local/lib/python3.8/site-packages/google/cloud/secretmanager_v1/services/secret_manager_service/client.py", 
line 1136, in access_secret_version response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) 
File "/usr/local/lib/python3.8/site-packages/google/api_core/gapic_v1/method.py", line 145, in __call__ 
return wrapped_func(*args, **kwargs) File "/usr/local/lib/python3.8/site-packages/google/api_core/retry.py", line 285, in retry_wrapped_func return retry_target( File "/usr/local/lib/python3.8/site-packages/google/api_core/retry.py", 
line 188, in retry_target return target() File "/usr/local/lib/python3.8/site-packages/google/api_core/grpc_helpers.py", 
line 69, in error_remapped_callable six.raise_from(exceptions.from_grpc_error(exc), exc) File "<string>", 
line 3, in raise_from google.api_core.exceptions.PermissionDenied: 
403 Request had insufficient authentication scopes.
Run Code Online (Sandbox Code Playgroud)

代码相当简单:-

def …
Run Code Online (Sandbox Code Playgroud)

python kubernetes google-kubernetes-engine google-cloud-functions google-secret-manager

3
推荐指数
1
解决办法
1133
查看次数