콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
4 답글
13365 화면

i have a selection field in my model i want to get string value from that selection field. suppose user select 'A' i want to get 'Apple'.

select_val = fields.Selection([
                        ('A', 'Apple'),
                        ('B', 'Ball')], ... etc


아바타
취소

selection_value = dict(self._fields['your_selection_field']._description_selection(self.env))[self.your_selection_field]

베스트 답변

Hi,

If you want to get the string from selection field follow the steps below

python :-

selection_field = fields.Selection([("1", "One"),("2", "Two"),("3","Three"),],string="Selection")

string_value = dict(self._fields['selection_field'].selection).get(self.selection_field))

In qweb:-

<t t-esc="dict(docs.fields_get(allfields=['selection_field'])['selection_field']['selection'])[docs.selection_field]"/>


Regards

아바타
취소

Proper way (at least on v16) seems to be this:

self._fields['state'].convert_to_export(self.state, self)

It handles translation better

베스트 답변

Hello,
You can create a compute char field [selection_str = fields.Char(compute="comp_str")]

def comp_str (self):        

    self. selection_str = dict(self._fields['select_val']._description_selection(self.env)).get(self.celect_val)

아바타
취소
베스트 답변

Approach #1:
make a global dictionary for converting like:

SELECTION = {'A': 'Apple', ...}

and use SELECTION[obj.select_var] wherever you need the string.

Approach 2#:

selected_string = fields.Char(compute="_compute_string", store=False)

def _compute_string(self):

    for rec in self:

        rec.selected_string = dict(self._fields.get('select_var').selection).get(rec.select_var)


아바타
취소
베스트 답변

Hello Vinoth N,

Please find below code it may help you to resolve this issue,


print dict(self._fields['select_val'].selection).get(self.select_val)

Thanks & Regards,
Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwari

아바타
취소
관련 게시물 답글 화면 활동
0
8월 23
1450
2
10월 25
2598
1
9월 25
2599
3
7월 25
4037
1
5월 25
2145