我想知道是否有人可以帮助我。我正在一个新项目中探索变形和滤锅,并遵循有关子类化 SchemaNode 的文档。然而,虽然文件指出
子类可以定义以下方法和属性:preparer、validator、default、missing、name、title、description、widget和after_bind。
当我定义标题时,它似乎没有通过。这是我正在使用的一些示例代码:
class LocationSchemaNode(colander.SchemaNode):
schema_type = colander.Int
title = 'Location'
missing = None
validator = colander.Range(
min=1,
min_err='Please select a valid location'
)
class PersonSchema(colander.Schema):
location_id = LocationSchemaNode()
但是,根据 SchemaNode 中定义的标题,当呈现表单时,该字段的标签是“Location Id”而不是“Location”。相反,如果我写:
class PersonSchema(colander.Schema):
location_id = LocationSchemaNode(title="Location")
然后一切都如我所愿,但文档似乎表明我不需要这样做,如果我这样做,如果我必须继续定义字段,那么预定义 SchemaNode 的点就会失败。
我是否遗漏了某些东西,或者正在做不应该做的事情(我怀疑情况会如此)。任何帮助深表感谢。
基思