chore(version): passer en 0.1.0-dev.12
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run
This commit is contained in:
parent
e15ecdf46e
commit
5c0a442693
2 changed files with 6 additions and 12 deletions
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
0.1.0-dev.11
|
||||
0.1.0-dev.12
|
||||
|
|
|
|||
|
|
@ -489,22 +489,16 @@ class LotTask(db.Model):
|
|||
# Résolution par niveaux : un équipement est rattaché directement au
|
||||
# lot ou hérite du lot d'un parent. On évite ainsi le N+1 de
|
||||
# ``effective_lot_id`` (qui chargeait chaque parent en Python).
|
||||
result = []
|
||||
frontier = [self.lot_id]
|
||||
result = Equipment.query.filter(
|
||||
Equipment.is_deleted.is_(False), Equipment.lot_id == self.lot_id
|
||||
).all()
|
||||
frontier = [item.id for item in result]
|
||||
while frontier:
|
||||
query = Equipment.query.filter(
|
||||
Equipment.is_deleted.is_(False), Equipment.lot_id.in_(frontier)
|
||||
)
|
||||
batch = query.all()
|
||||
result.extend(batch)
|
||||
parent_ids = [item.id for item in batch]
|
||||
if not parent_ids:
|
||||
break
|
||||
# Les enfants sans lot héritent du lot de leur parent. Les enfants
|
||||
# ayant déjà un lot propre sont volontairement exclus de la chaîne.
|
||||
inherited = Equipment.query.filter(
|
||||
Equipment.is_deleted.is_(False),
|
||||
Equipment.parent_id.in_(parent_ids),
|
||||
Equipment.parent_id.in_(frontier),
|
||||
Equipment.lot_id.is_(None),
|
||||
).all()
|
||||
result.extend(inherited)
|
||||
|
|
|
|||
Loading…
Reference in a new issue