Пользовательское поле, вызываемое вместо поля по умолчанию 'name' в поле m2o в odoo - PullRequest
0 голосов
/ 08 мая 2020

В модели mail.channel.partner есть имя поля partner_id. Я хочу, чтобы partner_id возвращал «Joestar» вместо полного имени «Joseph joestar». Это должно быть применимо только к этой модели.

Как мне изменить partner_id (m2o), чтобы он возвращал только последнюю строку. Цель этого - скрыть полное имя пользователей / партнеров, поэтому мне нужна только последняя строка.

Цель состоит в том, что когда мы взаимодействуем с нашим клиентом через наш сайт, мы не хотим раскрывать вместо этого наше полное имя, мы хотим отображать только фамилию.

На изображении ниже данные в кружке - это имя, которое я хочу изменить на фамилию, а не полное имя.

введите здесь описание изображения

1 Ответ

0 голосов
/ 06 июня 2020

Привет, Маричан ,

Переопределите метод name_get , который уже будет определен в модели res.partner следующим образом:

@api.multi
def name_get(self):
    result = []
    for rec in self:
        result.append((rec.id, "%s" % (rec.name.strip().split()[-1])))
    return result

Это даст вам только последнее слово имени.

Если вы хотите проверить URL-адрес вашей модели: -

from openerp import http
print http.request.env['ir.config_parameter'].get_param('web.base.url') # BASE URL
print http.request.httprequest 
print http.request.httprequest.full_path

Проверьте перед зачисткой и разделение

...