Я разрабатываю действия сервера в Odoo 7 типа «код Python». Как я могу узнать список методов, которые я могу назвать? Где эта документация?О программировании действий сервера в Odoo/OpenERP
Спасибо!
Я разрабатываю действия сервера в Odoo 7 типа «код Python». Как я могу узнать список методов, которые я могу назвать? Где эта документация?О программировании действий сервера в Odoo/OpenERP
Спасибо!
Действия сервера оцениваются методом safe_eval
в openerp/tools/safe_eval.py
. Указание __builtins__
содержит разрешенные методы. Две вещи следует отметить:
__import__
не ваш обычный import
; это переопределение, которое позволяет вам импортировать только _strptime
и time
.globals
переопределяется для возврата locals
вместо этого, чтобы сохранить вещи аккуратно изолированными.Список разрешенных методов, типов и т. Д.выглядит следующим образом:
__import__
True
False
None
str
unicode
globals
locals
bool
int
float
long
enumerate
dict
list
tuple
map
abs
min
max
sum
reduce
filter
round
len
repr
set
all
any
ord
chr
cmp
divmod
isinstance
range
xrange
zip
Exception
Насколько я знаю, это нигде не документированы.
Помимо этого, вы также имеете доступ к следующему, как отмечалось в комментариях по пустому кодексу Python при создании действия сервера:
self
: ORM модели записи, на которых действие срабатываетobject
: Запись, на которой запускается действие, если есть один, в противном случае None
pool
: ORM модель пула (т.е. self.pool
)cr
: база данных курсорuid
: текущий идентификатор пользователяcontext
: модуль Python time
workflow
:: текущий контекстtime
Workflow двигательИ недокументированные (вы должны проверить источник от openerp/addons/base/ir/ir_actions.py
):
datetime
: Python datetime
модульdateutil
: Python dateutil
модульuser
: просмотреть запись текущего пользователя (контрастируют с uid
, что только его идентификатор пользователя)Warning
: openerp.exceptions.Warning