Le 28/05/2015 18:00, Marc Murray a écrit :
On Thu, 2015-05-28 at 11:55 +0200, Christophe (net) wrote:
Le 28/05/2015 11:46, Cédric Krier a écrit :
On 28 May 11:10, Christophe (net) wrote:
Le 28/05/2015 10:34, Cédric Krier a écrit :
On 28 May 10:18, Christophe (net) wrote:
Hello,

I try to find out when I create a new address on a party if this is the
first or not. Depending on the answer it must set a boolean in the address
object.
I seek from the method of class 'default_<name_of_field>' has reached the
values of current instance. There is a way to do that (I am in v3.0) ?

It sounds strange because addresses are already ordered by the field
sequence.
And moreover using the default value will not work properly with
concurrency.

Bizarre, on my installation the sequence field of the object party.address
is empty, I would forget something?

Because it is done like that by design.
The order is on (sequence, id).

Ok, but to return to my original question, is it possible (and how) to
reach the values of the instance from a class method?
Is there an example somewhere ?


If you know any other object-oriented programming language, you would
understand why your question is strange. By definition, a classmethod is
a method that runs at the level of the class object itself. Not an
instance. As a result, there is no way to access instance attributes
from a class method.

I understand, but my question was not about the object-oriented languages and their possibility, but was around Tryton. There is in the context or elsewhere the opportunity to catch the current record when the method to set the default value is executed (and as the initialization method of default values is either '@staticmethod' or '@classmethod ...)


 From your description though, you may want to look into the on_change_*
and on_change_with_* methods. They will allow you to access instance
values. But, I think they'll only allow access to the fields specified
in the @fields.depends descriptor or the depends attribute of the field.

If I understand correctly, this is an action on the client triggers the 'on_change' not the server and not when assigning default values. I look at the trigger conditions of the on_change_with_*



PS: tryton-dev@ is to discuss the development of Tryton, tryton@ is
better place for such question.

Ok, how to move the thread ?

You can't, it will be for the next one.






--
Christophe
http://adiczion.com

Reply via email to