AssertionError: Найдены разные типы с одинаковыми именами в схеме
У меня есть два класса: Products и SalableProducts в моих моделях (SalableProducts наследуется от Products, поэтому в его базе данных есть все поля). Вот моя схема внизу
Я пытался включить свойство "exclude_fields", но это не сработало
Product_schema.py:
class Product(SQLAlchemyObjectType):
class Meta:
model = ProductModel
interfaces = (relay.Node, )
class ProductConnections(relay.Connection):
class Meta:
node = Product
Salable_product_schema.py:
class SalableProduct(SQLAlchemyObjectType):
class Meta:
model = SalableProductModel
interfaces = (relay.Node, )
class SalableProductConnections(relay.Connection):
class Meta:
node = SalableProduct
Schema.py:
class Query(graphene.ObjectType):
node = relay.Node.Field()
all_products = SQLAlchemyConnectionField(ProductConnections)
all_salable_products =
SQLAlchemyConnectionField(SalableProductConnections)
Результатом является эта ошибка:
Ошибка Assertion: Найдены разные типы с одинаковыми именами в схеме: product_status, product_status.
(product_status - это свойство, разделяемое двумя классами по наследству)
0 ответов
У меня была такая же проблема. В моем конкретном случае проблема заключается в конфликте внутренней работы SQLAlchemy, когда используется обратная ссылка. Я бы проверил модель, чтобы увидеть, если это так.
Следующая статья имеет некоторую соответствующую информацию. В моем конкретном случае я попробовал то, что было предложено, и переименовал одно из соединений:
techniques = SQLAlchemyConnectionField(TechniqueConnection)
belts = SQLAlchemyConnectionField(BeltConnection)
belt_techniques = SQLAlchemyConnectionField(BeltTechniqueConnections)
Я добавил 's' к BeltTechniqueConnection. Родственная модель имеет много-много взаимосвязей с техникой и поясами.