gpt4 book ai didi

python - 动态更改 fields.selection 选择

转载 作者:行者123 更新时间:2023-12-01 07:45:16 24 4
gpt4 key购买 nike

Objective: Month field will show current month and previous month till 10th of current month, for 11th it will only show option of current month.

我已经寻找了类似问题的问题,并尝试了所有我能做的事情,所以这是我迄今为止尝试过的 -

.py

MONTH_LIST = [
('january','JANUARY'),
('february','FEBRUARY'),
('march','MARCH'),
('april','APRIL'),
('may','MAY'),
('june','JUNE'),
('july','JULY'),
('august','AUGUST'),
('september','SEPTEMBER'),
('october','OCTOBER'),
('november','NOVEMBER'),
('december','DECEMBER')
]


def _get_month(self, cr, uid, ids, field_name, arg, context=None):
val = {}
date_now = datetime.datetime.now()
day = date_now.day
month = date_now.month

if day<10:
val['month_val'] = MONTH_LIST[month-1][1] + MONTH_LIST[month-2][1]
else:
val['month_val'] = MONTH_LIST[month-1][1]

return val


'month_val': fields.function(_get_month, string='Month', type='selection', selection=MONTH_LIST, required=True),

回溯-

2019-06-07 12:51:43,029 20396 INFO expensetest werkzeug: 127.0.0.1 - - [07/Jun/2019 12:51:43] "GET /web/binary/image?model=hr.employee&field=image_medium&id=283 HTTP/1.1" 200 -
2019-06-07 12:51:43,109 20396 INFO expensetest werkzeug: 127.0.0.1 - - [07/Jun/2019 12:51:43] "POST /web/dataset/call_kw/hr.expense.expense/fields_view_get HTTP/1.1" 200 -
2019-06-07 12:51:43,121 20396 INFO expensetest werkzeug: 127.0.0.1 - - [07/Jun/2019 12:51:43] "GET /web/binary/image?model=hr.employee&field=image_medium&id=257 HTTP/1.1" 200 -
2019-06-07 12:51:43,128 20396 INFO expensetest werkzeug: 127.0.0.1 - - [07/Jun/2019 12:51:43] "GET /web/binary/image?model=hr.employee&field=image_medium&id=265 HTTP/1.1" 200 -
2019-06-07 12:51:43,187 20396 INFO expensetest werkzeug: 127.0.0.1 - - [07/Jun/2019 12:51:43] "GET /web/binary/image?model=hr.employee&field=image_medium&id=217 HTTP/1.1" 200 -
2019-06-07 12:51:43,404 20396 ERROR expensetest openerp.http: Exception during JSON request handling.
Traceback (most recent call last):
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\http.py", line 530, in _handle_exception
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\http.py", line 567, in dispatch
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\http.py", line 303, in _call_function
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\service\model.py", line 113, in wrapper
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\http.py", line 300, in checked_call
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\http.py", line 796, in __call__
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\http.py", line 396, in response_wrap
File "C:\Program Files\Odoo 8.0-20150515\server\openerp\addons\web\controllers\main.py", line 876, in search_read
File "C:\Program Files\Odoo 8.0-20150515\server\openerp\addons\web\controllers\main.py", line 897, in do_search_read
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\http.py", line 901, in proxy
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\api.py", line 241, in wrapper
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\models.py", line 5144, in search_read
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\api.py", line 241, in wrapper
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\models.py", line 3139, in read
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\api.py", line 239, in wrapper
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\models.py", line 3174, in read
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\api.py", line 239, in wrapper
File "C:\Program Files\Odoo 8.0-20150515\server\.\openerp\models.py", line 3355, in _read_from_database
KeyError: 1479

预先感谢您的支持。

最佳答案

遗憾的是,您无法在 Odoo 中执行此操作,选择的值是在 Odoo 启动时创建的,并且无法修改。一旦选择填满选择,就无法更改。尝试使用many2one,您可以动态更改域,即使使用many2one,如果您使用widget="selection",您也会遇到问题域已更改您必须访问该字段两次才能看到列表已更改。

关于python - 动态更改 fields.selection 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56494863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com