python - SQLAlchemy 声明式模型的数据验证

标签 python validation model sqlalchemy cherrypy

我在 Web 应用程序中使用 CherryPy、Mako 模板和 SQLAlchemy。我来自 Ruby on Rails 背景,我正在尝试为我的模型设置一些数据验证。我想不出最好的方法来确保,比如说,当其他字段有值时,“名称”字段有值。我尝试使用 SAValidation但它允许我在所需列为空的地方创建新行,即使我在该列上使用了 validates_presence_of 也是如此。我一直在看WTForms但这似乎涉及很多重复的代码——我已经用表中的列设置了我的模型类,为什么我需要再次重复所有这些列只是为了说“嘿,这个需要一个值”?我来自“skinny controller, fat model”心态,一直在我的模型中寻找类似 Rails 的方法,例如 validates_presence_ofvalidates_length_of。我应该如何验证我的模型接收到的数据,并确保 Session.add/Session.merge 在验证失败时失败?

最佳答案

查看添加 validation methods 的文档.您可以只添加一个“更新”方法,该方法采用 POST 字典,确保存在所需的键,并使用修饰的验证器来设置值(如果有任何问题则引发错误)。

关于python - SQLAlchemy 声明式模型的数据验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6416023/

相关文章:

python - ValueError : Unable to find token seed! https ://translate. google.com 是否更改?

.net - 选项卡容器 - 按钮事件未触发

delphi - Delphi中如何防止错误输入(仅数字)?

c - 设置新模型时是否需要释放GtkListStore?

python - Django 模型 - 字段依赖

python - 如何从 Django 模型(覆盖) save( ) 函数向 View 发送警报或消息?

python - 如何根据一组行在 Pandas DataFrame 中创建一个新列

python - Tkinter 导入文件对话框错误

python - 如何使用传感器 R305 搜索已保存的指纹?

php - 谁能说一下我在这个正则表达式中的错误是什么