These are the fields for Nested Set Model. Used to manage hierarchical data structures with unbound depth in SQL. The article Managing Hierarchical Data in MySQL explains this model details with examples in SQL.
OpenERP uses Nested Set Model to manage trees like chart of accounts and warehouse locations. parent_left
and parent_right
columns are equivalent to right
and left
columns in the above articles.
You do not need to manage these fields yourself; OpenERP will update them and use them for optimized reading and domain evaluation if you add class attribute _parent_store = True
in your model. OpenERP can create the parent_left
and parent_right
database columns automatically but you should define them with select=True
attribute to create an index.
If the self reference field is not parent_id
(ex. main_category_id
), you must define a class attribute _parent_name = 'main_category_id'
to enable this model.
Models using these fields can use child_of
, parent_left
and parent_right
domain operators.