在Graphene中拥有两个相同模型的类型,可以通过使用不同的名称来区分它们。Graphene允许我们为每个模型创建一个独立的类型,并在定义类型时指定不同的名称。
首先,我们需要导入ObjectType
类和相关的字段类型,然后创建两个独立的类型,分别对应相同的模型。例如,我们有一个模型叫做User
,我们可以创建两个类型UserType1
和UserType2
来表示它们。
from graphene import ObjectType, String
class UserType1(ObjectType):
name = String()
age = String()
class UserType2(ObjectType):
name = String()
age = String()
在上面的示例中,我们创建了两个类型UserType1
和UserType2
,它们都有相同的字段name
和age
,但是它们是独立的类型。
接下来,我们需要定义一个查询类型,并将这两个类型添加到查询类型中。我们可以使用Union
类型将它们组合在一起,以便在查询中返回两个类型的对象。
from graphene import ObjectType, Schema, Union
class Query(ObjectType):
user = Union(UserType1, UserType2)
schema = Schema(query=Query)
在上面的示例中,我们定义了一个查询类型Query
,并将UserType1
和UserType2
添加到user
字段中。这样,我们就可以在查询中返回UserType1
或UserType2
的对象。
最后,我们可以使用Graphene的execute
函数执行查询,并获取相应的结果。
result = schema.execute('{ user { name age } }')
以上是在Graphene中拥有两个相同模型的类型的方法。通过创建独立的类型并使用不同的名称,我们可以在同一个模型上定义多个类型,并在查询中返回它们。这样可以更灵活地处理不同的业务需求。
领取专属 10元无门槛券
手把手带您无忧上云