給定一個字典,其中頂級鍵可以是任何值,但這些鍵的值中有一個嚴格的模式:
{"rand_value": ["key1": "val1", "key2": "val2"], "another_rand_value": ["key1": "val1", "key2": "val2"]}
我可以創建一個強制執行此操作的 Cerberus 模式嗎?
uj5u.com熱心網友回復:
Cerberus 必須知道欄位名稱,以便它可以確定適用于它的驗證規則,因此您不能完全按照您的要求執行。沒有適用于整個檔案的“頂級”規則。
但是,您可以根據檔案中存在的實際欄位名稱“即時”構建模式,然后對其進行驗證。
v = cerberus.Validator()
document = {"rand_value": {"key1": "val1", "key2": "val2"},
"another_rand_value": {"key1": "val1", "key2": "val2"}}
fieldrule = {"type": "dict", "keysrules": {"type": "string"}} # etc
v.validate(document, {k: fieldrule for k in document})
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/365731.html
上一篇:閱讀串列中的字典-python
