提交最初来自网页的数据时,有时必须将数据转换为适合后端数据库的数据类型或格式。例如,'dd / mm / yyyy'格式的日期需要转换为Python日期对象或'yyyy-mm-dd'才能存储在SQLite日期列中(SQLite将接受'dd / mm' / yyyy',但这可能会在检索数据时导致问题。)
问题 - 数据应在何时转换? a)作为通用web_page_save()方法的一部分(在数据验证之后,但在调用row.table_update()方法之前)。 b)作为row.table_update()的一部分(从基于Web或非基于Web的应用程序调用的数据对象方法,并包括在执行UPDATE命令之前构造字段值参数列表)。
换句话说,从框架的角度来看,数据转换是属于页面对象处理还是数据对象处理?
任何意见都将不胜感激。
艾伦
答案 0 :(得分:2)
我认为它属于验证。您需要一个日期,但网页只输入字符串,因此验证者需要检查值是否转换为日期,并从应用程序的那一点开始处理它就像日期一样。
答案 1 :(得分:1)
我可能错了,但我认为这个问题没有明确答案。它取决于您的框架提供的“语言”级别。例如,如果框架的其他部分接受非规范形式的数据,然后将其转换为内部规范形式,则在这种情况下,值得支持一些预期的输入日期格式。
我总是喜欢构建严格的框架并在前端转换数据。