I think this belongs to the validator. If the validator has already removed 
the subseconds you are in no luck.
If it works for you, I do not see a problem. Anyway, remember that this API 
is experimental. They will stay but we may still change something before 2.0


On Wednesday, 18 April 2012 15:02:37 UTC-5, nick name wrote:
>
> I was away for two weeks and finally caught up with the git updates and 
> the mailing list; what a pleasant surprise!
>
> The before/after infrastructure is a joy. It is simple and elegant, much 
> faster and more effective than the monkeypatching I submitted, AND with 
> auditing implemented on top of it. Thank you very much Massimo, this is 
> great!
>
> You asked in the ticket -- yes, this is a great, efficient implementation 
> of auditing.
>
> A question I keep bugging (and submitting patches about) is the 
> implementation of subsecond precision in the database. With the new code, I 
> believe it is as simple as doing:
>
> def change_datetime_and_time_to_string(fields):
>   for k, v in fields.items():
>     if isinstance(v, (datetime.datetime, datetime.time)): fields[k] = 
> v.isoformat().replace('T', ' ')
>
> _before_insert.append(change_datetime_and_time_to_string)
>
> Is there a reason not to do that?
>
> If not, would it be possible to make the DAL constructor append such a 
> before_insert filter to any table? (As it is implemented, I would have to 
> add it myself to tables that I want to apply it to).
> A filter such as the above could be useful if it comes by default (but not 
> inserted to the _before_insert list). Another useful filter would warn or 
> raise an error if the time or datetime has a nonzero microsecond field -- 
> useful for oracle or db2 which do not have that option.
>
> Massimo, thanks again for the wonderful work - you are doing amazing work!
>
> BTW: for datetime, it is possible to use x.isoformat(' ') instead of 
> x.isoformat().replace('T', ' '); but for time, isoformat() takes no 
> arguments.
>

Reply via email to