Don't have time for a thorough review, but a few points...

    sum_of_sum = md5_hash('|'.join(str(i) for i in list_of_row_md5h))
>

I think you only want to hash individual records and check individual 
records when they are submitted (probably via an ajax submission). There's 
no reason to reject an update for one record just because another record 
has changed (which is what will happen if you create a single hash for the 
entire set of records).
 

>     form._formkey = sum_of_sum* # does notting here...*
>

Although the input field is named "_formkey", the form attribute is 
form.formkey, not form._formkey. Also, the _formkey isn't created until you 
call .accepts or .process, so you have to change the formkey after 
form.process.

    form.process(detect_record_change=True)
>

I do not think you will be able to use the built-in detect_record_change 
functionality with SQLFORM.factory. I was suggesting you manually code your 
own by hashing the records and comparing the hashes upon submission.

Anthony 

Reply via email to