SQLAlchemy声明性模型的数据验证

Sar*_*els 13 python validation model sqlalchemy cherrypy

我在Web应用程序中使用CherryPy,Mako模板和SQLAlchemy.我来自Ruby on Rails背景,我正在尝试为我的模型设置一些数据验证.我无法找出确保"名称"字段在某个其他字段具有值时具有值的最佳方法.我尝试使用SAValidation,但它允许我创建新行,其中所需列为空,即使我validates_presence_of在列上使用.我一直在看WTForms,但这似乎涉及很多重复的代码 - 我已经用表中的列设置了我的模型类,为什么我需要再次重复所有这些列只是为了说"嘿这个一个人需要一个价值"?我是从"现身瘦控制器,脂肪模型 "的心态,一直在寻找在我的模型像Rails的类似的方法validates_presence_ofvalidates_length_of.我应该如何验证模型收到的数据,并在验证失败时确保Session.add/ Session.merge失败?

Ben*_*ter 14

查看有关添加验证方法的文档.您可以添加一个"更新"方法,该方法接受POST dict,确保存在所需的键,并使用修饰的验证器设置值(如果出现任何错误则引发错误).


Sar*_*els -5

我最终还是使用了 WTForms。