Hello,

I have some questions about the way validators are used in SQLObject
(r1457 py2.4).

I'm using web forms to populate a DB (Sqlite), so all inputs are string.
Suppose I have 3 columns in a table: a FloatCol, a CurrencyCol and a DateCol.

Storing something in the DateCol is easy: if it is a "date" (datetime
object) or if it looks like a date (string containing an ISO-8601
date) then everything works fine. Cool.

If I store anything in CurrencyCol then it always works fine. That is
not so cool because I want the value to be checked against the
appropriate format (I thought it would have a to_python method that
gives me a decimal object, and a from_python that enforces that the
to_python will work).

Now if I try to store '12.345' in the FloatCol, it raises an exception
stating that it wants a float object, not a string. This is annoying
and counter intuitive. If it looks like a float, then it should be
converted and stored quietly, as this is the case for date.

Why are those 3 behaviours so different? Is it related to the DB backend?

--
jt

Reply via email to