32 lines
1.2 KiB
ReStructuredText
32 lines
1.2 KiB
ReStructuredText
.. _topics-fields_on_change:
|
|
|
|
===================
|
|
on_change of fields
|
|
===================
|
|
|
|
Tryton allows developers to define methods that can be called once a field's
|
|
value has been changed by the user.
|
|
The instance method has the following name::
|
|
|
|
on_change_<field name>
|
|
|
|
An instance of :class:`~trytond.model.Model` is created by using the values
|
|
from the client's fields specified by the
|
|
:attr:`~trytond.model.fields.Field.on_change` list defined on the field.
|
|
Any change made on the instance will be pushed back to the client-side record.
|
|
|
|
There is also a way to define a method that must update the value of a field
|
|
whenever any field from a predefined list is modified.
|
|
This list is defined by the :attr:`~trytond.model.fields.Field.on_change_with`
|
|
attribute of the field.
|
|
The method that will be called has the following name::
|
|
|
|
on_change_with_<field_name>
|
|
|
|
Just like for the classic ``on_change``, an instance of
|
|
:class:`~trytond.model.Model` is created by using the values from the client's
|
|
fields specified by the :attr:`~trytond.model.fields.Field.on_change_with`
|
|
attribute.
|
|
The returned value of the method is pushed back to the client-side record as
|
|
the new value of the field.
|