Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
2 Відповіді
6568 Переглядів

I am trying to use a method to return my domain. Any advice?

Not working this way.

The client_id and client_id.id both return integers. When I hard code an example such as 

domain="[('client_id.id','=', 5)]"

Everything works. I think it is an encoding thing or formatting issue of what I am returning. 

#################################

#################################

@api.model

def _getClientId(self):

    client_id = self.client_id.id

    domain = "[('client_id.id','='," + " " + str(client_id) + ")]"

    return domain

selected_review = fields.Many2one('something.something', domain=_getClientId)

Аватар
Відмінити

The last character ) in domain=... is probably redundant?

Автор

You are right. That may have been a residual typo. Thank you for letting me know. I turned out to be the id's I was using were not the correct ones.

Автор Найкраща відповідь

Alright. So here is what worked for me in the end. 

#####################

@api.model

def _getClientId(self):

    if len(self.search_read([],[])) == 0:

        return [('client_id','=','client_id')]

    else:

        client_id = self.search_read([],['id'])[0].get('id')

        domain = "[('client_id','='," + " " + str(client_id) + ")]"

        return domain

selected_review = fields.Many2one('sentry.review',

domain=_getClientId,

string="Selected Review")

####################################

The issue is that I was referring to the wrong id.

Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
2
бер. 21
66
0
серп. 16
4373
1
квіт. 16
5462
2
лют. 25
6031
1
груд. 24
1549