Raf*_*adi 5 python graphql graphene-python graphene-sqlalchemy
我的模型中有两个类:Products 和 SalableProducts(SalableProducts 继承自 Products,因此它具有数据库的每个字段)。下面是我的架构
我尝试包含“exclude_fields”属性,但这不起作用
产品架构.py:
class Product(SQLAlchemyObjectType):
class Meta:
model = ProductModel
interfaces = (relay.Node, )
class ProductConnections(relay.Connection):
class Meta:
node = Product
Run Code Online (Sandbox Code Playgroud)
Salable_product_schema.py:
class SalableProduct(SQLAlchemyObjectType):
class Meta:
model = SalableProductModel
interfaces = (relay.Node, )
class SalableProductConnections(relay.Connection):
class Meta:
node = SalableProduct
Run Code Online (Sandbox Code Playgroud)
架构.py:
class Query(graphene.ObjectType):
node = relay.Node.Field()
all_products = SQLAlchemyConnectionField(ProductConnections)
all_salable_products =
SQLAlchemyConnectionField(SalableProductConnections)
Run Code Online (Sandbox Code Playgroud)
结果是这个错误:
AssertionError:在架构中发现具有相同名称的不同类型:product_status、product_status。
(product_status是两个类通过继承共享的属性)
小智 2
我也有同样的问题。在我的特定情况下,问题是使用 backref 时 SQLAlchemy 的内部工作发生冲突。我会检查模型,看看情况是否如此。
下面的文章有一些相关信息。在我的特定情况下,我尝试了建议的方法并重命名了其中一个连接:
techniques = SQLAlchemyConnectionField(TechniqueConnection)
belts = SQLAlchemyConnectionField(BeltConnection)
belt_techniques = SQLAlchemyConnectionField(BeltTechniqueConnections)
Run Code Online (Sandbox Code Playgroud)
我在 BeltTechniqueConnection 后面附加了一个“s”。相关模型与技术和皮带具有多对多的关系。
归档时间: |
|
查看次数: |
3127 次 |
最近记录: |