Сообщение #1
02 мая 2017, 19:22
|
Простой пример загрузки и удаления данных без запущенного Odoo
В предыдущем топике рассматривался простой пример модуля с данными data.xml
Теперь пример, как загрузить и удалить данные из модели 'test' через скрипт без запущенного Odoo
В данной модели два класса, связанные между собой
Загружаем data.xml
Теперь удаляем данные из модели 'test'
Теперь пример, как загрузить и удалить данные из модели 'test' через скрипт без запущенного Odoo
В данной модели два класса, связанные между собой
Загружаем data.xml
# -*- coding: utf-8 -*-
import odoo
from odoo import api,tools
odoo.tools.config["db_user"]='test' # имя и пароль для подключения к базе из odoo.conf
odoo.tools.config["db_password"]='12345678'
cr = odoo.registry('test').cursor() # подключаемся к базе и создаем курсор
with odoo.api.Environment.manage(): # это обязательно для получения окружения соединения
try:
tools.convert_file(cr,'test','data.xml',{},'update',False, None, None) # загружаем данные из data.xml в модель test
cr.commit() # успешный коней транзакции, иначе данные не зафиксируются в базе
except Exception:
cr.rollback() # error # откат в случае возникновения ошибки при загрузке
raise
finally:
cr.close() # закрываем соединение с базой
Теперь удаляем данные из модели 'test'
# -*- coding: utf-8 -*-
import odoo
from odoo import api,tools,SUPERUSER_ID
odoo.tools.config["db_user"]='test'
odoo.tools.config["db_password"]='12345678'
cr = odoo.registry('test').cursor()
with odoo.api.Environment.manage():
try:
env = api.Environment(cr, SUPERUSER_ID, {}) # создаем окружение
env['ir.model.data']._process_end(['test']) # удаляем данные из модели 'test'
cr.commit()
except Exception:
cr.rollback() # error, rollback everything atomically
raise
finally:
cr.close()
Последний раз редактировал пользователь
aladkoi
-
02 мая 2017, 19:23