That particular method of updating calls:

.update(**self._filter_fields(value))

So no exception is raised because the fields are filtered to include only 
those in the table definition. If you want to catch such errors, use the 
more explicit .update() method.

Anthony

On Tuesday, July 1, 2014 5:39:36 PM UTC-4, Cliff Kachinske wrote:
>
> I would have thought DAL would raise an exception here, but the failure 
> was silent.
>
> The postgres table contains these fields:
>
>  quantity_used     | numeric(12,3)               | 
>  container_count   | integer                     | 
>  container_id      | integer                     | 
>  restock           | integer                     | 
>
> An ajax request was attempting to update the quantity_used, 
> container_count and restock fields.
>
> The updating code looks like this: All the variables were there.
>     db.repacks_reruns_container[rrc_id] = dict(
>         container_count=count,
>         quantity_used=pounds,
>         restock=restock,
>     )
>
> db._lastsql looked like this:
>
> UPDATE repacks_reruns_container SET quantity_used=10000.000,
> container_count=2 WHERE ((repacks_reruns_container.id = 1) AND (
> repacks_reruns_container.is_active = 'T'));
>
> Note restock not updated in the query.
>
> It happened because the model for repacks_reruns_container was missing the 
> restock field.
>
>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to