代码之家  ›  专栏  ›  技术社区  ›  Vorticity

Python eve:当使用当前的app.data.driver.db[collection].update_one()直接更新时,是否尊重架构?

  •  1
  • Vorticity  · 技术社区  · 6 年前

    settings.py 在执行正常的职务时,它会按预期工作。但是,当我使用 update_one() 与其直接通过Eve提供的API,架构是不受尊重的。

    是在中定义的架构 不应用于数据库中的集合本身?有没有好的方法将该架构应用于集合?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Maksym Rudenko    6 年前

    不,不是的,架构主要是在cerberus验证步骤中考虑的,在POST请求期间称为internaly。

    如果你不想重复这种行为,你可以这样做:

    from eve.utils import config
    from flask import current_app as app
    
    resource_def = app.config['DOMAIN'][resource]
    schema = resource_def['schema']
    validator = app.validator(schema, resource=resource)
    validator.validate(document)