Поле compute
в odoo по умолчанию readonly=True
и store=False
. Вы можете установить store=True
, просто передав его в определение поля, но чтобы сделать поле compute
доступным / не только для чтения, вы должны передать inverse
в определении поля, которое является строковым значением, именем функции то есть, когда значение поля вычислений устанавливается вручную. Идея состоит в том, чтобы вычислить значение depends
для поля, упомянутого в @api.depends
, декоратор. Поэтому, если вы устанавливаете значение поля compute
с помощью ручного ввода, то вам может понадобиться функция inverse
, которая соответственно установит соответствующее поле depends
.
field_a = fields.Char("Field A")
field_b = fields.Char("Field B", compute="_compute_field_b", inverse="_set_field_b")
field_selection = fields.Selection([('choice_a', "Choice A"), ('choice_b', "Choice B")])
@api.multi
@api.depends('field_selection, field_a')
def _compute_field_b(self):
for res in self:
if res.selection_choice == 'choice_a':
res.field_b = res.field_a
else:
res.field_b = ""
@api.multi
def _set_field_b(self):
for res in self:
if res.field_selection == 'choice_a':
res.field_a = res.field_b
Если вам не нужны какие-либо функции inverse
при установке значения возврата, вы можете просто return True
ничего не делать. Это сделает вычислительное поле редактируемым.
Дорожный бетоноукладчик является обстреливать/делать работой одинаково для Python. Я не знаю, является ли это тем, что Ваш поиск, все еще ничто не нашли эквивалентным марионетке для Python...
pyinstall похож на него, должно быть простое решение для Вас. По крайней мере, до упаковки материала Python и установки в virtualenv идет. Я не знаю о pythonic способе реализовать конфигурацию сервера...
Я использую Подвижный в качестве своей системы SCM, и также для развертывания также. Это - просто вопрос клонирования репозитория от другого, и затем получение по запросу/обновление или выборка получат его актуальный.
я использую несколько экземпляров репозитория - один на сервере разработки, один (или больше, в зависимости от обстоятельства) на моей локальной машине, один на рабочем сервере и одном 'Основном' репозитории, который доступен большему Интернету (хотя только SSH).
единственная вещь, которую это не делает, автоматически обновить базу данных, если это изменяется, но с входящими рычагами я мог бы, вероятно, сделать это также.
Зависит от того, какова ваша инфраструктура. Мы просто используем пакеты debian и buildbot для их создания.
На других установках я использую Fabric скрипты. Что касается формата, я просто использую файлы tbz2, но я слышал о людях, которые просто деплоят яйца.
Я бы настоятельно рекомендовал иметь правильную сборку и иметь BuildBot/Hudson для сборки пакетов, так как использование SCM бьет по цели и поощряет плохую практику.