Spyne+Django ValueError 有冲突的名称使用

问题描述

我尝试使用 spyne 生成 SOAP 服务器,但出现错误。 Spyne:ValueError:类 名称冲突;

types.py 文件是:

class PARENT(ComplexModel):   
    class Section1(ComplexModel):
      NAME = String
      class CHILD(ComplexModel):
         NAME = String   
    class Section2(ComplexModel):
      NAME = String
      class CHILD(ComplexModel):
         NAME = String
         type = String

没有办法使用相同的类名吗? spyne 需要将视图声明为 json 并将复杂模型声明为 python 类,但不能使用相同的类名,但应用程序需要返回具有这种结构的 xml,非常感谢。

解决方法

我找到了解决办法。使用数组。

从 spyne.model.complex 导入 ComplexModel,Array

class CHILD(ComplexModel):
    NAME = String
    type = String
class PARENT(ComplexModel):   
    class Section1(ComplexModel):
      NAME = String
      class CHILD(ComplexModel):
         NAME = String   
    class Section2(ComplexModel):
      NAME = String
      CHILD = Array(CHILD)