11 lines
559 B
Markdown
11 lines
559 B
Markdown
This module adds a partition(self, accessor) method to every model. It
|
|
accepts for accessor any parameter that would be accepted by mapped,
|
|
i.e. a string "field(.subfield)\*" or a function (lambda x: not x.b). It
|
|
returns a dictionary with keys that are equal to
|
|
set(record.mapped(accessor)), and with values that are recordsets (these
|
|
recordsets forming a partition of the initial recordset, conveniently).
|
|
|
|
So if we have a recordset (x \| y \| z ) such that x.f == True, y.f ==
|
|
z.f == False, then (x \| y \| z ).partition("f") == {True: x, False: (y
|
|
\| z)}.
|