Unlike views, regular data records don't have an XML arch
structure and can't be extended using XPath expressions. But they can still be modified by replacing the values in their fields.
The <record id="x" model="y">
data loading elements actually perform an insert or update operation on model y
: if record x
does not exist, it is created; otherwise, it is updated/written over.
Since records in other modules can be accessed using a <model>.<identifier>
global identifier, it's possible for our module to overwrite something that was written before by another module.
Note
Note that since the dot is reserved to separate the module name from the object identifier, it can't be used in identifier names. Instead, you should use the underscore character.
As an example, we will make the To-Do menu option automatically filter only the tasks that have not been done.
The todo_app
module already defined a search filter to show only the unfinished tasks, named filter_not_done
...