Я работаю над odoo version11. Я создал представление с именем test.Я обновил модуль.Позже мне нужно внести некоторые изменения, включая изменение некоторых значений и удаление некоторых значений. Когда я пытаюсь обновить модуль, я получаю сообщение об ошибке
psycopg2.OperationalError: невозможно удалить из представления "test" ПОДРОБНЕЕ: Представления, содержащие GROUP BYне обновляются автоматически.СОВЕТ: Чтобы включить удаление из представления, предоставьте триггер INSTEAD OF DELETE или безусловное правило ON DELETE DO INSTEAD.
Как предоставить правило?Мой код выглядит следующим образом:
@api.model_cr
def init(self):
cr = self.env.cr
tools.drop_view_if_exists(cr, 'o_test')
cr.execute("""
CREATE or replace view o_test as
(
SELECT
mve.id as id,
acc.code as account_code,
SUM (mve.debit-mve.credit) AS balance,
mve.account_id as account_id
FROM account_move_line mve
LEFT JOIN account_account acc ON mve.account_id = acc.id
GROUP BY mve.id,mve.account_id,acc.code
)
""")
Я хочу изменить код следующим образом:
@api.model_cr
def init(self):
cr = self.env.cr
tools.drop_view_if_exists(cr, 'o_test')
cr.execute("""
CREATE or replace view o_test as
(
SELECT
mve.account_id as id,
acc.code as account_code,
SUM (mve.debit-mve.credit) AS balance,
mve.account_id as account_id
FROM account_move_line mve
LEFT JOIN account_account acc ON mve.account_id = acc.id
GROUP BY mve.account_id,acc.code
)
""")