小编Nic*_*nas的帖子

石墨烯和姜戈的关系

我对 Graphene 非常陌生,正在测试它,看看是否可以将它用于具有复杂查询的 Django 项目。为了测试它,我尝试使用以下模型创建一个电子商务

class Sku(models.Model):
    name = models.CharField(max_length=100)


class Product(models.Model):
    name = models.CharField(max_length=100)

class ProductSku(models.Model):
    sku = models.ForeignKey(Sku, related_name='product_sku', on_delete=models.CASCADE)
    product = models.ForeignKey(Product, related_name='product_sku', on_delete=models.CASCADE)
    price = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)

正如您在此处看到的,Product 和 Sku 使用 ProductSku 模型具有多对多关系

使用 Graphene 的文档我创建了以下架构

class SkuNode(DjangoObjectType):
    class Meta:
        model = Sku


class ProductNode(DjangoObjectType):
    class Meta:
        model = Product

class ProductSkuNode(DjangoObjectType):     
    class Meta:
        model = ProductSku



class Query(graphene.ObjectType):
    all_products = graphene.List(ProductNode, name=graphene.String())

    product = graphene.Field(ProductNode, id=graphene.Int())

    def resolve_all_products(self, info, **args):
        name = args.get('name')
        if name is …
Run Code Online (Sandbox Code Playgroud)

python django graphene-python graphene-django

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

将字符串列表指定为函数参数类型

我正在尝试定义一个列表str作为函数参数的类型,但我不知道如何做到这一点

我知道 python 允许您定义函数来指定函数参数期望的值类型。例子:

def f(param: str):
    print(type(param))
Run Code Online (Sandbox Code Playgroud)

但我不知道这个注释是如何调用的param: str,因此很难找到这方面的文档。据我了解,这只是代码文档中的美观,而不是参数的某种类型强制。

您能帮助我定义str该注释的列表和名称吗?

对于我想要的TypeScript的更清晰示例,可以这样写

function func(param: string[]) {}
Run Code Online (Sandbox Code Playgroud)

python type-hinting python-3.x python-typing

0
推荐指数
1
解决办法
7437
查看次数