Definiowanie danych w plikach XML

W plikach xml najczęściej opisuje się widoki. Są to dane z modelu ir.ui.view. W taki sposób można jednak na etapie instalacji modułu uzupełniać dane w dowolnej tabeli/modelu. Na przykład dla tabeli dane_test (model dane.test):

<odoo>
    <data>
        <record id="dane_test_id" model="dane.test">
            <field name="param">parametr</field>
            <field name="value">wartość</field>
        </record>
    </data>
</odoo>

Jeśli model istnieje (pochodzi z innego modułu, lub wykonujemy aktualizację) - rekord jest modyfikowany.

Zabezpieczenie przed zmianami

Wczytane do bazy danych dane mogą być modyfikowane - na przyklad przez program lub administratora systemu. Należy przy tym zachować dużą ostrożność. Nie tylko dlatego, że zmiany moga naruszyć spójność systemu. Jeśli dokonamy aktualizacji modułu, to zmiany mogą zostać "przykryte" ponownie wczytanymi wzorcami (także wtedy, gdy aktualizujemy moduł od którego zmieniony moduł zależy). Aby temu zapobiec - stosuje się wartość noupdate:

<data noupdate="1">
.....
</data>

Ustawiana jest wartość noupdate=True w modelu ir.model.data. Możemy to zmienić w bazie danych (tabela irmodeldata).

Więcej informacji na ten temat: https://webkul.com/blog/working-with-xml-data-in-odoo/