[MERGE] forward port of branch 7.0 up to 8dff247
This commit is contained in:
commit
b1f4a61705
|
@ -2158,13 +2158,19 @@ class BaseModel(object):
|
||||||
# same ordering, and can be merged in one pass.
|
# same ordering, and can be merged in one pass.
|
||||||
result = []
|
result = []
|
||||||
known_values = {}
|
known_values = {}
|
||||||
|
|
||||||
|
if len(groupby_list) < 2 and context.get('group_by_no_leaf'):
|
||||||
|
count_attr = '_'
|
||||||
|
else:
|
||||||
|
count_attr = groupby
|
||||||
|
count_attr += '_count'
|
||||||
|
|
||||||
def append_left(left_side):
|
def append_left(left_side):
|
||||||
grouped_value = left_side[groupby] and left_side[groupby][0]
|
grouped_value = left_side[groupby] and left_side[groupby][0]
|
||||||
if not grouped_value in known_values:
|
if not grouped_value in known_values:
|
||||||
result.append(left_side)
|
result.append(left_side)
|
||||||
known_values[grouped_value] = left_side
|
known_values[grouped_value] = left_side
|
||||||
else:
|
else:
|
||||||
count_attr = groupby + '_count'
|
|
||||||
known_values[grouped_value].update({count_attr: left_side[count_attr]})
|
known_values[grouped_value].update({count_attr: left_side[count_attr]})
|
||||||
def append_right(right_side):
|
def append_right(right_side):
|
||||||
grouped_value = right_side[0]
|
grouped_value = right_side[0]
|
||||||
|
|
Loading…
Reference in New Issue