Python模型对象验证

Pro*_*ody 6 python

我正在编写一个由两个应用程序使用的接口.此接口应使用一些DoSomethingRequestDoSomethingResponse类来进行通信.

是否有任何库进行模型验证,例如Django的Model

我基本上希望能够这样说:
对象A必须具有str()类型的"text"属性,int()类型的"number"属性,list()类型的"items"属性.干嘛.

我正在寻找以下或更好的东西:

class MyEmbeddedModelClass(EmbeddedModel):
    text = TextField(required = True)

class MyModel(Model):
    text = TextField(required = True)
    number = IntField(default = 0)
    items = ListField(EmbeddedModel)


a = MyModel()
a.text = "aaaa"
a.number = 1
a.items = [
    MyEmbeddedModelClass("bbbb"),
    MyEmbeddedModelClass("cccc"),
    MyEmbeddedModelClass("dddd")
]
a.validate()
Run Code Online (Sandbox Code Playgroud)

我知道我可以自己编写,但如果可用,我宁愿使用库,我对此有点新鲜.

Dan*_*man 3

如果您想强制执行接口,或使用按合同设计,那么您可能需要 zope.interface库。尽管这个名字反映了它起源于 Zope,但它实际上与该框架无关,并且在外部也非常有用。