Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
2 Odpovědi
6558 Zobrazení

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)

Avatar
Zrušit

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

Autor

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.

Autor Nejlepší odpověď

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.

Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
2
bře 21
66
0
srp 16
4371
1
dub 16
5458
2
úno 25
6026
1
pro 24
1546