2010-12-05 76 views
0

當提交最初來自網頁的數據時,有時數據必須轉換爲適合後端數據庫的數據類型或格式。例如,需要將'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命令之前構建字段值參數列表)。

換句話說,從框架的角度來看,數據轉換屬於頁面對象處理還是數據對象處理?

任何意見將不勝感激。

Alan

回答

1

我可能是錯的,但我認爲這個問題沒有明確的答案。它取決於您的框架提供的「語言」級別。例如,如果框架的其他部分接受非規範形式的數據,然後將其轉換爲內部規範形式,則這種情況下它將支持某些預期的輸入日期格式。

我總是喜歡構建嚴格的框架並在前端轉換數據。

2

我認爲它屬於驗證。你需要一個日期,但是網頁只輸入字符串,所以驗證器需要檢查值範是否被轉換爲日期,並且從那時起,應用程序應該像處理日期那樣處理它。